egison-5.1.0: test/type-error/55-multisite-target-conflict.egi
--
-- Multi-site matcher parameter, conflicting TARGET types (paper Appendix C,
-- Step 3a): the second match site component-unifies the committed slot, so
-- its target type must equal the first site's. A lambda-bound matcher is
-- monomorphic (standard HM), so [Integer] vs [String] is rejected.
--
-- Expected: Type error at the second match site (Integer vs String)
--
def h m :=
( matchAll [1, 2] as m with $x :: _ -> x
, matchAll ["a", "b"] as m with $y :: _ -> y )