great point, i've found the htdp/recursion scheme approach works quite well, even when using some smaller local models... i loved taking prof. kiczales course, the materials are publicly available, still: - https://cs110.students.cs.ubc.ca - https://cs110.students.cs.ubc.ca/admin/links.html