DfType (DfaVariableValue var, @NotNull DfType dfType) { if (ControlFlow.isTempVariable(var) || (!(dfType instanceof DfReferenceType)) || var.getPsiVariable() instanceof PsiParameter && var.getPsiVariable().getParent().getParent() instanceof PsiLambdaExpression) { // Pass type normally for synthetic lambda parameter assignment return dfType; } return ((DfReferenceType)dfType).dropTypeConstraint(); }