code: public static <S, T, A, B> Lens<Maybe<S>, T, A, B> liftS(Lens<S, T, A, B> lens, S defaultS) {
          return lens.mapS(m -> m.orElse(defaultS));
      }
docs: Given a lens and a default <code>S</code>, lift <code>S</code> into {@link Maybe}.
  <p>
  Note that this lens is NOT lawful, since "putting back what you got changes nothing" fails for any value
  <code>B</code> where <code>S</code> is {@link Maybe#nothing()}.
  
  @param lens     the lens
  @param defaultS the S to use if {@link Maybe#nothing()} is given
  @param <S>      the type of the "larger" value for reading
  @param <T>      the type of the "larger" value for putting
  @param <A>      the type of the "smaller" value that is read
  @param <B>      the type of the "smaller" update value
  @return the lens with S lifted