
michael rice
In any case, the function we pass to makeVerifier, whether anonymous or in the WHERE of your clarified version, is a function that only appears in the definition of a particular verifier, so what difference can it possibly make whether or not it can be partially applied? That's what I can't get my head around.
In your case, none, except wasted keystrokes... after all, if you want to, you can also partially apply tuples. Semantically speaking, adding a tuple introduces another _|_... you can pass both undefined as well as (undefined,undefined) to an uncurried function, but I doubt that's going to bother you. Tuples are commonly used as return type though. The usual style is to write functions curried and use uncurry if you need to pass it tuples for some reason, like in zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] zipWith f = (map (uncurry f) .) . zip -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.