:: (c -> d) -> (a -> b -> c) -> a -> b -> d is:exact -package:wrap -package:opaleye -package:xmonad-contrib package:speculate