Earlier quoted context omitted.
Does the github Java code make use of recursion?
As you can clearly see, it does not. It also doesn't use any forced typecasts to circumvent type checking.
private static interface FuncToTFunc {
Func apply(FuncToTFunc x);
}
BTW, what is "x" in the above?Also is Func defined mutually recursively with FuncToFunc in excerpt below?
public static Func Y(final Func> r) {
return ((FuncToTFunc) f -> f.apply(f))
.apply(
f -> r.apply(
x -> f.apply(f).apply(x)));
}