Safe Haskell | None |
---|---|
Language | Haskell98 |
Look at type signatures and add quantifiers to bind any free type variables.
Given
mapS (f : a -> S e b) (xx : List a) : S e (List b) = box case xx of Nil -> Nil Cons x xs -> Cons (run f x) (run mapS f xs)
We get:
mapS [a e b : ?] (f : a -> S e b) (xx : List a) : S e (List b) = /(a e b : ?). box case xx of Nil -> Nil Cons x xs -> Cons (run f x) (run mapS f xs)