internal DynamicMetaObject Not(DynamicMetaObject target, DynamicMetaObject errorSuggestion) { if (!target.HasValue) { return(base.Defer(target, new DynamicMetaObject[0])); } return(new DynamicMetaObject(Expression.Not(target.CastOrConvert(typeof(bool))).Cast(typeof(object)), target.PSGetTypeRestriction())); }