code: public static <T> DecomposableMatchBuilder1<T, T> caseThat(org.hamcrest.Matcher<T> matcher) {
      @SuppressWarnings("unchecked")
      List<Matcher<Object>> matchers = Lists.of((Matcher<Object>) HamcrestMatcher.of(matcher));
  
      return new DecomposableMatchBuilder1<>(matchers, 0, new IdentityFieldExtractor<>());
    }
docs: Matches on a hamcrest {@link org.hamcrest.Matcher}.
  
  <p>If the hamcrest matcher returns a match, then motif will consider it a match.
  
  <p>If matched, the {@code t} value is extracted.