T? whenExist2<T>(Map<String, T? Function(String value)> m) { for (var k in m.keys) { if (hasAttr(k)) { return m[k]!.call(attrs[k]!); } } return null; }