make a single object from all generated binding code. this setup is unusual, but easier to maintain.
fix indentation in some places. add some assertions.