Fluent assertion libraries like FluentAssertions generally make the test implementation return a non-unit value. Property.check and similar require Property<unit>, which means I have to explicitly |> ignore the result of the fluent assertion chain. This explicit ignoring is not necessary if not using properties (for example, xUnit by itself allows test functions to return arbitrary values), and I can't see a good reason why Property.check and similar could not just ignore the generic value and therefore work with any Property<_>.