compose
trait Function1[X, Y] { def compose[Z](g: (Z) => X): (Z) => Y }
compose crea una función anónima que acepta un valor y devuelve el resultado de aplicar la función g primero y luego esta función a dicho valor.
g