Limitations in ML
structures and signatures are not first-class values
- They must be named
- They must be declared at the top-level or nested inside another structure or signature
You cannot instantiate functors at run-time to create “objects”
- This implies you cannot simulate classes and object-oriented programming