public Property Aggregate_Holds(Maybe <int> maybeX, int seed, Func <int, int, int> f) { int sut = maybeX.Aggregate(seed, f); return(sut.Equals(seed) .ToProperty() .Or(sut == f(seed, maybeX.GetOrElse(0)))); }