Initial implementation of struct-type contract generation.

I would just do `(simple-contract-restrict 'chaperone)` if you are just going to ignore the struct types.