docs: @SuppressWarnings("RedundantTypeArguments")
      public static <X, CX extends Collection<X>> Lens.Simple<CX, Stream<X>> asStream(
              Function<? super CX, ? extends CX> copyFn) {
          return simpleLens(Collection<X>::stream, (xsL, xsS) -> {
              CX updated = copyFn.apply(xsL);
              updated.clear();
              xsS.forEach(updated::add);
              return updated;
          });
      }