- How is implementation inheritance different from behavior subtyping?
- What are some major issues with implementation inheritance?
- What is duck typing?
- What is the variance of method arguments and why?
- Why are parametric types invariant in Julia?
- When does the diagonal rule apply?