It becomes readable with practice. And the use of...
# random
f
It becomes readable with practice. And the use of a few standardized collection types and corresponding core lib functions goes leaps and bounds towards preventing dynamic typing from being a frustration. Definitely would be a mess if you tried to mesh too extensively with standard Java, though.