Binding (final PsiType x, final PsiType y, final Set<? super Constraint> constraints) { return balance(x, y, new Balancer() { @Override public Binding varType(final PsiTypeVariable x, final PsiType y) { return create(x, y); } @Override public Binding varVar(final PsiTypeVariable x, final PsiTypeVariable y) { return create(y, Bottom.BOTTOM); } @Override public Binding typeVar(final PsiType x, final PsiTypeVariable y) { return create(y, Bottom.BOTTOM); } }, constraints); }