Explain in your own words how includes and functors enable code reuse.
How are functors similar to functions? How are they different? Are functors first-class?
How is the
extendskeyword in Java (or, more generally, the inheritance feature in an OO language of your choice) similar to a functor?