Add support for tuple decomposition.
Remove check_spec from type.py, tweak comments.
Added type-checked fields as a separate subclass.