code: public static <T1, T2, T3> TypeFactory<Tuple3<T1, T2, T3>> typeFactory( TypeFactory<T1> type1,
                                                                              TypeFactory<T2> type2,
                                                                              TypeFactory<T3> type3 ) {
          return new Tuple3TypeFactory<>(type1, type2, type3);
      }
docs: Create a type factory for tuples of size 3.
  
  @param type1 the first type; may not be null
  @param type2 the second type; may not be null
  @param type3 the third type; may not be null
  @return the type factory; never null