Turn Structure into a metaclass for nicer instantiation.
Turn Structure into a metaclass for nicer instantiation.

In the process of doing this I realised that we're really talking about
attributes instead of fields (so I renamed them) and that an attribute only
becomes named when it's added to something that needs names (so I moved the
name to the container).

ish/schemaish,ish/schemaish