List<T> array<T>(String key, T Function(dynamic) f) { if (containsKey(key) && this[key] is List) { return (this[key] as List).map<T>(f).toList(); } return <T>[]; }