public class Greet {
    public Either<Integer, String> f(int val) {
        new Type();
        if (val) {
            return getType();
        } else if (!val) {
            throw getError();
        }
    }
}

sealed interface Command permits LoginCommand {
    void run();
}

non-sealed abstract class UserPluginCommand extends Command {
    void runAsUser();
}
