Better, positional enum types
Compile ADT enum match expressions