@Nonnull
    default T parseOrFail(@Nonnull Argument argument) throws CommandInterruptException {
        Optional<String> value = argument.value();
        if (!value.isPresent()) {
            throw generateException(argument.index());
        }
        return parseOrFail(value.get());
    }
Parses the value from an argument, throwing an interrupt exception if
parsing failed.

@param argument the argument
@return the value
helper/src/main/java/me/lucko/helper/command/argument/ArgumentParser.java