module ShouldSucceed where
type OL a = [a]
-- produces the interface:
-- data OL a = MkOL [a] deriving ()
-- ranOAL :: (OL (a, a)) -> [a]
-- this interface was produced by BOTH hbc and nhc
-- the following bogus type sig. was accepted by BOTH hbc and nhc
f x = ranOAL where -- ranOAL :: OL (a,v) -> [a]
--ranOAL :: OL (a,v) -> [v], the right sig.
ranOAL ( xs) = mp sd xs
mp f [] = []
mp f (x:xs) = (f x) : mp f xs
sd (f,s) = s