@@ -141,6 +141,11 @@ exists f = do
141 v <- liftIO $ var Flexible
141 v <- liftIO $ var Flexible
142 ex [v] <$> f (VarN v)
142 ex [v] <$> f (VarN v)
144+existsNumber :: Error e => (Type -> ErrorT e IO TypeConstraint) -> ErrorT e IO TypeConstraint
146+ v <- liftIO $ var (Is Number)
147+ ex [v] <$> f (VarN v)
145instance Show a => Show (UF.Point a) where
150instance Show a => Show (UF.Point a) where
146 show point = unsafePerformIO $ fmap show (UF.descriptor point)
151 show point = unsafePerformIO $ fmap show (UF.descriptor point)