refactored functionality out of FieldGen into Type.Class.Field