Function<T4>(String String String) getAFunctionReturningBool<T1, T2, T3>()

This helps us make sure we get both the empty and the non-empty case right for anonymous functions.