-putIdent i t = undef
-/*putIdent i t = gets ('Map'.get i) >>= \mt -> case mt of
- Nothing = pure <$> modify ('Map'.put i t)
- Just t2 = unify t t2 >>= \r -> case r of
- Left e = pure $ Left e
- Right t3 = pure <$> modify ('Map'.put i t3)*/
+putIdent i t = gets ('Map'.get i) >>= \mt -> case mt of
+ Nothing = modify ('Map'.put i t)
+ Just t2 = unify t t2 >>= \t3-> modify ('Map'.put i t3)