num? number(String key) { String? value = raw(key); if (value == null) return null; return num.tryParse(value) ?? _invalid(key, 'a number', value); }