Why does this dynamic comparison fail during construction?
csharp
using System;
using System.Linq.Expressions;
var product = Expression.Parameter(typeof(Product), "product");
var price = Expression.Property(product, nameof(Product.Price));
var supplied = Expression.Constant("100");
var comparison = Expression.GreaterThanOrEqual(price, supplied);
public sealed record Product(decimal Price);