Судя по твоим примерам язык еще должен быть обязательно маргинальным.
Это совпадение.
Racket — крайне гибок, есть курс/книга «How to Design Programs» в комплекте.
Oz специально делался под «Concepts, Techniques, and Models of Computer Programming».
Оба языка имеют достаточно минималистичный синтаксис, чтобы
1) быстро его освоить
2) не тратить время на разъяснение языковых нюансов
3) не привязываться к конкретному синтаксису и легко входить в любые другие языки
Посмотри вступительные лекции по SICP в варианте 86-го на Scheme и более современный на Python — небо и земля. Во втором почти всю лекцию объясняются особенности Питона :facepalm: