Minor breaking change (with version bump) in definition of Type

TypeStruct now has an Either for the name field.  Struct types with
names have the name in the Right constructor.  Anonymous struct types
have a unique (but meaningless identifier).  Use structTypeToName as
an easy and more stable way to get the name.