引数リストを一つのクラスに閉じ込めるかList<BaseArguments>みたいなのにして
同じインタフェースにしたら{関数,引数リスト}のリストをJavaでも動的に扱えると思う
関数のインタフェースは Result f(ArgumentList<BaseArguments>)みたいにして統一すればいい
java版parsecだってあるしね

ところでJavaVMを使うLisp実装とかなかったっけ、Closure?
それで実装してクラスファイルだけ呼び出すとかそういう解決もあるんじゃないの
lispからの移植ならなおさら