Redesign type handleing in Fields.