code: public static <X> Lens.Simple<List<X>, List<X>> asCopy() {
          return simpleLens(ArrayList::new, (xs, ys) -> ys);
      }
docs: Convenience static factory method for creating a lens over a copy of a list. Useful for composition to avoid
  mutating a list reference.
  
  @param <X> the list element type
  @return a lens that focuses on copies of lists