code: public String getStringOrDefault(int key, @NonNull String dfl) {
          Any3<Boolean, Integer, String> value = data.getOrDefault(Any2.<Integer, String>left(key), Any3.<Boolean, Integer, String>create3(dfl));
          return value.get3().orElseThrow(() -> new IllegalArgumentException("expected string argument for param " + key));
      }
docs: Return the string value indicated by the given numeric key.
  
  @param key The key of the value to return.
  @param dfl The default value to return, if the key is absent.
  @return The string value stored under the given key, or dfl.
  @throws IllegalArgumentException if the value is present, but not a
  string.