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.