bool tryGetValue(String fieldName, bool Function(dynamic value) fn) { return fieldByName(fieldName).fold(() { return false; }, (a) { return a.tryGetValue(fn); }); }