Scala Self-Study: What are functors?