add Context.onAfterGenerate to register macros that run after code generation
apply context type parameters to return type while matching to support GADT
admit enum<Dynamic> as base type in unify_min
tmp fix for infinite recursion in to_string marking
raise parse error on 'case' without a pattern (closes #2415)
Merge pull request #2417 from nadako/2415_case_without_pattern_error

raise parse error on 'case' without a pattern (closes #2415)
disallow cases without pattern in matcher too (closes #2415)
simplify to_string handling in DCE