The `FieldType`, `IntoFieldType`, `IntoField`, `IntoOptField` and `ArrayIntoField` traits seem a bit overkill - try to find a more elegant way to express them.