public class Main { sealed interface Result permits Success, Failure {} record Success(String id) implements Result {} static class Failure implements Result { private final String reason; Failure(String reason) { this.reason = reason; } String reason() { return reason; } }}