- Contratos explícitos y definidos en tiempo de compilación
- Referencias tipadas
- Objetos con interfaces inmutables
- El tipo a través del uso y no de su definición
- Una referencia como nombre a un objeto y no contiene informacion de tipo
- La interfaz del objeto puede mutar y enriquecerse
- Necesidad de interfaces para definir contratos vs duck-typing
- Duck-Typing
- Intercepción de código
- Introspección
- Reflexión
- Self-Modification