codegen: update signature generation for builders
codegen: emit module types to match the updated signatures
codegen: fix generated module indentation
runtime: more careful handling of struct schema upgrades
allow setters to simultaneously set a union discriminant