Да, но не всегда ты можешь собрать такую же структуру легко и быстро. Первое из примеров что приходит в голову жсовский setTimeout который позволяет мешать синк и асинк, но это не так просто сделать.
Насчёт setTimeout не в курсе, на JS не пишу 😅
Хз, я про обычные list-ы говорил. Вся программа на том же CL - это один огромный список из атомов, и при необходимости фрагментами таких списков можно манипулировать (это про макросы)