> 2. it makes lambdas and functions incompatible.
This is true, but the hate predated lambdas in Java.