($) has its own *typing rule*; it does not have a special type. It's very ad
hoc, but ($) is used so much to decrease parens that (e1 $ e2) is almost
special syntax!
At the moment the *only* robust way to pass a polymorphic function to a
polymorphic function (here, you are passing Wrap to (.))
On Tue, 10 Feb 2015, Tyson Whitehead wrote:
I came across something that seems a bit strange to me. Here is a
simplified version (the original was trying to move from a lens
ReifiedFold to a lens-action ReifiedMonadicFold)
You are on Haskell@haskell.org here. Could you please move to
haske