docs: public static <A, B, M extends Map<A, B>> Codec<M, EnumGene<Integer>>
  	ofMapping(
  		final ISeq<? extends A> source,
  		final ISeq<? extends B> target,
  		final Supplier<M> mapSupplier
  	) {
  		requireNonNull(mapSupplier);
  		return ofPermutation(target.size())
  			.map(perm -> toMapping(perm, source, target, mapSupplier));
  	}