``` trait Bijection[A, B] extends (A => B) { def andThen[C](g: Bijection[B, C]): Bijection[A, C] = ??? def compose[T](g: Bijection[T, A]) = g andThen this } // <console>:14: error: overloaded method compose needs result type // def compose[T](g: Bijection[T, A]) = g andThen this // ^ ``` https://github.com/adriaanm/util/commit/78f8eefa3c669e4657a278bba80127f6f610cbdb