Well, I said I might be slow in replying…
I know how to work around limitations in programming languages (hey, I have even written algorithms for Turing machines, for a course in compulability!).
I just like the ease with which e.g. learning can be implemented by wrapping functions around one another. Let’s say a character has acquired behaviours X and Y, and now learns to choose between them based on some test Z: (lambda () (if (Z) X Y)) is the new behaviour that does the trick. Doing stuff like that a lot of times makes for quite sophisticated behaviour, and the compiler takes care of keeping it efficient.
Of course I can define some data structure to walk through, and that is what I do at the moment, but it means that I need to optimise by hand (well, by explicit code).
(Of course, this is just one example of many where higher-order programming comes in handy.)
Thanks for replying, and till next year…