> Wouldn't one need to know the order of the arguments? > > (a -> Bool) -> [a] -> ([a], [a]) Not really, if you try [a] -> (a -> Bool) -> ([a], [a]) it will yield the exact same list of results. Cheers.