@@ -38,11 +38,9 @@ occursHelp seen var =
38 return False
38 return False
40 Structure term ->
40 Structure term ->
42− go = occursHelp (var:seen)
41+ let go = occursHelp (var:seen) in
44 case term of
42 case term of
45− App1 _ args ->
43+ App1 _ _ args ->
46 or <$> traverse go args
44 or <$> traverse go args
48 Fun1 a b ->
46 Fun1 a b ->
@@ -54,7 +52,13 @@ occursHelp seen var =
54 Record1 fields ext ->
52 Record1 fields ext ->
55 or <$> traverse go (ext : Map.elems fields)
53 or <$> traverse go (ext : Map.elems fields)
59+ or <$> traverse go (a:b:cs)
57− Alias _ args _ ->
61+ Alias _ _ args _ ->
58 -- TODO is it okay to only check args?
62 -- TODO is it okay to only check args?
59 or <$> traverse (occursHelp (var:seen) . snd) args
63 or <$> traverse (occursHelp (var:seen) . snd) args