> It's already possible to write
> asTypeOf ::
> a {- ^ the input value to be passed through -}
> -> a {- ^ the value is ignored, but the type is unified with the first
parameter -}
> -> a {- ^ the value of the first parameter -}
Nice. Still using "first parameter" though ;-)