
Thank you Kai-Oliver.
pattern Any2 :: forall . forall a. a -> Some
We're friends here. I think I can share that my reaction was a rather loud WTF??!!?? And there's not a mention in the docos that this is even a thing. I feel like dragging whoever's responsible to the headmaster's office. Ok that seems to work -- in the sense that pattern-matching on it yields an `x` that's unusable on RHS just as much as the `Any` decl with implicit `forall`, or with no type signature at all. What would be useful is to be able to introduce a constraint into the sig, so I can do something like
foo (Any2 x) y = x == y
After playing with it, all I'm getting is weird rejections.
pattern Any2 :: forall . forall a. () => (Eq a) => a -> Some
* Pattern synonym `Any2' has one argument but its type signature has 1 fewer arrows
I need to put the constraints inside the scope of the `forall a.`. A single `(Show a) => a -> Some` complains no instance provided.