private void CheckAndPromoteOperands(Type signatures, string opName, ref Expression left, ref Expression right,
int errorPos)
{
var args = new[] { left, right };
MethodBase method;
if (GetAppropriateMethodCount(signatures, "F", false, args, out method) != 1)
throw IncompatibleOperandsError(opName, left, right, errorPos);
left = args[0];
right = args[1];
}