code: @NotNull
      public <T> Mode with(@NotNull Key<T> key, @Nullable T value) {
          return new Mode(Map(this.defs, key, value));
      }
docs: Creates and returns a new mode object of the current list of options together with
  the given one.
  
  <p>If {@code value} is {@code null} the option key is removed (same as
  calling {@link #without(Key)}.</p>
  
  <p>If there is a value for that <code>key</code> already then this overrides
  the previously used value.</p>