This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
public interface Function3<T1,T2,T3,R>
A Function3 is used by injectIntoWith(). In the injectIntoWith() method the block takes the injected
argument as the first argument, the current item of the collection as the second argument, and the specified
parameter for the third argument. The result of each subsequent iteration is passed in as the first argument.