A typing pass on Plain's ORM internals: type: ignores replaced with real narrowing, Field.concrete removed, Meta's field collections collapsed to fields + many_to_many. The type checker kept pointing at design debt, so we removed the debt instead of ignoring it.