It's just a handful of lines, but it requires a working version of all these systems, and generics is the one that isn't sufficiently capable yet:

Symbol tables and namespaces

Arrays

Objects

Static and non-static (instance) fields and methods

Inheritance/polymorphism

Generics (parameterized types)

Note btw how the length() method is both static and constant. In Tuplex the length is part of the array type, so it can be statically determined. In fact, type parameters are accessible directly (and why shouldn't they be, the information is there anyway!) so the method can be circumvented entirely: