When a test fails, the error message includes the data for the input parameters, which is good, but it doesn't show any information about why the predicate failed. Currently the predicate set in suchThat is just a boolean so has no way of contributing text to the error message if it fails. Instead of returning a boolean it could return a value that can be queried for a message in the event of failure.