Clean up the struct generator
Removed a silly argument
Add a do-notation to reduce nested calls to bind