Conducción de un tipo singleton a través de un brickwall

Aquí hay una versión muy condensada:

case class Brickwall[A](otherSide: A)
trait Monoman { def me(m: this.type): Unit }

def test(m: Monoman): Unit = m.me(Brickwall(m).otherSide)

-> error: type mismatch;
 found   : Monoman
 required: m.type

stupid brickwall no me deja pasar. alguna idea de cómo podría ser posible? efectos secretos del túnel scala? esperando..

Respuestas a la pregunta(3)

Su respuesta a la pregunta