Вот Вирт когда-то вывел систему команд CPU из требования компиляции ЯВУ. И получилось гораздо лучше, чем выдумки из головы по принципу "добавим еще и такую штуку на всякий случай".

Какую-то такую же логику можно ведь провести и в отношении гуйного API оси -- т.е. вывести систему примитивов из требования обеспечить работу оболочек вроде ББ или ББ.

Как бы провести это дело систематически?
Наверное, что-то в этом роде фактически сделано в БлюБ?