matcher: @escaping (Expression<T>) throws -> PredicateResult) -> Predicate<T> {         return Predicate<T> { actual in             return try matcher(actual)         }.requireNonNil     }      /// Defines a predicate with a default message that can be returned in the closure     /// Also ensures the predicate's actual value cannot pass with `nil` given.     public static func 