code: @SuppressWarnings("unchecked")
    /**
     * Creates an aligner given a single function from items to equivalence classes (requires left
     * and right items to both be of types compatible with this function).
     */
    public static <InT, EqClass> EquivalenceBasedProvenancedAligner<InT, InT, EqClass> forEquivalenceFunction(
        Function<? super InT, ? extends EqClass> equivalenceFunction) {
      return new EquivalenceBasedProvenancedAligner<InT, InT, EqClass>(
          (Function<InT, EqClass>) equivalenceFunction,
          (Function<InT, EqClass>) equivalenceFunction);
    }
docs: we don't need