@@ -90,6 +90,7 @@ instance Applicative Unify where
92instance Monad Unify where
92instance Monad Unify where
93+ -- TODO PERF add INLINE here?
93 return a =
94 return a =
94 Unify $ \vars ok _ ->
95 Unify $ \vars ok _ ->
@@ -103,6 +104,13 @@ instance Monad Unify where
104 ka vars ok1 err
105 ka vars ok1 err
107+ (>>) (Unify ka) (Unify kb) =
108+ Unify $ \vars ok err ->
110+ ok1 vars1 _ = kb vars1 ok err
107register :: IO Variable -> Unify Variable
115register :: IO Variable -> Unify Variable
108register mkVar =
116register mkVar =