Hacking slightly better sum types without Go generics Go doesn't have real sum types, but we can at least hack together an exhaustive switch helper, without requiring generics.