import java.util.*;
import java.util.function.*;
// *** before: ***
BiFunction<String, String, String> join1 = (String a, String b) -> a + b;
// an annotation on a parameter required writing the type in full
// *** in version 11: ***
BiFunction<String, String, String> join2 = (var a, var b) -> a + b;
Consumer<String> print = (@Deprecated var s) -> System.out.println(s);
// either every parameter has var, or none of them:
// (var a, b) -> a + b; // <- error
// (var a, String b) -> a + b; // <- error
print.accept(join1.apply("a", "b"));
print.accept(join2.apply("c", "d"));