Map<String, dynamic>? serializeToMap<T>(T? item) { if (item == null) return null; final typeName = item.runtimeType.toString(); return _serializeToMapWithType<T>(typeName, item); }