@@ -94,16 +94,15 @@ tuple region types =
95deepDealias :: Canonical -> Canonical
95deepDealias :: Canonical -> Canonical
96deepDealias tipe =
96deepDealias tipe =
97− let go = deepDealias in
98 case tipe of
97 case tipe of
99 Lambda a b ->
98 Lambda a b ->
100− Lambda (go a) (go b)
99+ Lambda (deepDealias a) (deepDealias b)
105 Record fields ext ->
104 Record fields ext ->
106− Record (map (second go) fields) (fmap go ext)
105+ Record (map (second deepDealias) fields) (fmap deepDealias ext)
108 Aliased _name args tipe' ->
107 Aliased _name args tipe' ->
109 deepDealias (dealias args tipe')
108 deepDealias (dealias args tipe')
@@ -112,7 +111,7 @@ deepDealias tipe =
114 App f args ->
113 App f args ->
115− App (go f) (map go args)
114+ App (deepDealias f) (map deepDealias args)
118dealias :: [(String, Canonical)] -> Aliased Canonical -> Canonical
117dealias :: [(String, Canonical)] -> Aliased Canonical -> Canonical