Initial implementation of struct-type contract generation.

I think the right thing here is to generate a compile-time error when the StructType is supposed to be from untyped code. Is there an easy way to express that with static contracts?