how java compiler solved lambda return type while Predicator's method can only return boolean? : Note: this question look like some others but different

Things i can't understand is that we know java doesn't support dynamic type even use Lambda, and it's compiled to Predictor during compile time. 

Things i can't understand is that Predicator's default method only can return boolean, while Lambda expression can return anything. HOW is this archived?


