extension ITerableExtensions<T> on Iterable<T> {
T? get firstOrNull {
final lst = take(1).toList();
return lst.isEmpty ? null : lst.first;
}