how to write bug-free boilerplate?
desugar data to letrec with its surroundings better, and clean up create-tests.arr
actually do what the last commit said --- make data participate in letrec chain
refactor to use more sensible lists, and better order on unions