code: public static <T> Key<T> keyWithDefault(String name, T defaultValue) {
      return new Key<>(name, defaultValue);
    }
docs: Create a {@link Key} with the given debug name and default value. Multiple different keys may
  have the same name; the name is intended for debugging purposes and does not impact behavior.