> but I found it difficult to work with the lack of first-class functions and iterators/generators, as well as the general iteration protocol.
Ruby has iterators/generators. It doesn't have first-class functions because it doesn't have functions at all, but blocks/procs serve the same purposes.