Haskell has typeclasses which would probably correspond to structural typing in Scala. This type signature:
Functor f => (a -> b) -> f a -> f b
Defines map for any type that implements the type class functor. Lots of types will implement functor and it is easy to implement it yourself.