Sizeable class redesigned, such that Typeable in no longer a class constraint

default implemetations for Typeable data can still the typenames supported by Typeable
but Serializable can be instantiated without Typeable.
The default implementations for (,), [] and Map still have the Typeable constraint