Fix type checking issues for AST-reducing rules
Fix type checking issues for AST-reducing rules

This actually fixes the fact that when typechecking pattern matches the coercion didn't take place in the right direction. The solution was to flip the order of the type coercion. For arrow coercions it is important to swap the direction based on whether type checking is done for match-sides or for build-sides. The switch is done using the is-matching strategy argument.

metaborg/dynsem,metaborg/dynsem