The type is now specified as a separate statement with no substatements.
This is what I wanted to do originally but couldn't figure out a clean
way to do it.
No legacy support because the new material system as a whole is still
fairly new and hasn't been used in many places.