As a FIOCist, I find its complexity and lack of formalism disturbing. For instance, I've tried to search for a concise description of Ruby's scoping, but I've failed to come up with anything. I have a nagging suspicion that it has dynamic scoping constructs that are used to implement those super-magic 'just-copy-the-examples-and-try-it-and-see-what-works' DSL APIs Ruby faggots seem to like to have for their libraries.