Add high-level language feature and a compiler - Type declaration - Sum type - Record type - Pattern matching - deconstruct sum - deconstruct record Depends on #54 and #63