Just added the following delgate:
delegate bool Authenticator<A>(A a1, A a2);
It's purpose is to take two obejcts of type A and return if they are equal or not. Of course, this is equivalent to:
Function<A, Function<A, bool>>
However, that's much clunkier. I'm pretty torn as to which is a better coding style. Building things out of the function delegate (a la functional programming) or providing specialized delegates for the task. Sigh...