続・関数オブジェクト

必ずしもConsを使う必要は無かったらしい。
Functor.java

public interface Functor < Argument, Result > {
    Result evaluate(Argument arg);
}

としておいて、
FunctorA.java

public class FunctorA <
  Argument extends Cons < Arg1, Cons < Arg2, Arg3 > >,
  Result > {
    Result evaluate(Argument arg){
        return null;
    }
}

というように複数の引数を取る際に指定すれば充分。*1

*1:というわけで、Jakarta CommonsのGenerics対応を待とう。