public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
{
ContractUtils.RequiresNotNull(target, nameof(target));
ContractUtils.RequiresNotNull(args, nameof(args));
ContractUtils.Requires(args.Length == 1, nameof(args));
var arg0 = args[0];
ContractUtils.RequiresNotNull(arg0, nameof(args));
return target.BindBinaryOperation(this, arg0);
}