this is an entirely new can of worms, but something that must be done eventually. [ ] find heuristics for section assignment [ ] write more code for emitting serializers