private void CheckAndPromoteOperand(Type signatures, string opName, ref Expression expr, int errorPos)
{
var args = new[] { expr };
MethodBase method;
if (GetAppropriateMethodCount(signatures, "F", false, args, out method) != 1)
throw ParseError(errorPos, Res.IncompatibleOperand(opName, GetTypeName(args[0].Type)));
expr = args[0];
}