Is this a bug, or am I reading it wrong:
Function applied to incorrect argument.
expects: _ * _ * (([<non-equality>] * _ * _) -> _)
but got: _ * _ * (([<equality>] * _ * _) -> _)
I think it is telling me that I'm calling a function that requires an
equality type with a non-equality type, but the actual error message
seems backwards.
Neal