2) For the compiler to recognize that auto(un)boxing is not actually required in this case, it is only used to satisfy the interface. So, it should simply pass the primitive values 1.3 and 2.7 through the methods to the x and y arguemtns without actually autoboxing them.

Autoboxing was a mistake. If you want consistent semantics for objects and primitive types, use a modern language like Lisp or Smalltalk. Sun should not have tried to smooth over the primitive/object distinction in the most crappy way imaginable.