Initial implementation of struct-type contract generation.

Confirming that these are just white space changes. Right?