### Question:
LeftBoundFunction implements Function<A, T> { public T evaluate(A obj) { return function.evaluate(param, obj); } @SuppressWarnings("unchecked") <L> LeftBoundFunction(BinaryFunction<? super L, ? super A, ? extends T> function, L arg); T evaluate(A obj); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); static LeftBoundFunction<R, T> bind(
            BinaryFunction<? super L, ? super R, ? extends T> function, L arg);  }### Answer:
@Test public void testEvaluate() throws Exception { Function<Object, Object> f = new LeftBoundFunction<Object, Object>(RightIdentity.FUNCTION,"foo"); assertEquals("xyzzy",f.evaluate("xyzzy")); }