Stock Typeclasses: Functor

trait Functor[F[_]] { self =>
  def map[A, B](fa: F[A])(f: A => B): F[B]
}

We know this as the map method that is seen on Seq/Scala/String

Functor[List].map(List(1, 2, 3))(number => number * 2)