Find why this sealed hierarchy does not compile.
Java
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; }
}
}