F-связанный полиморфизм с абстрактными типами вместо типов параметров?

Как мне преобразовать следующий F-связанный полиморфизм в код с использованием абстрактных типов?

trait Organism[Self <: Organism[Self]] { self: Self =>
  def reproduceWith(org:Self):Boolean
}

class Amoeba extends Organism[Amoeba] {
  def reproduceWith(org:Amoeba) = //..code
}

Ответы на вопрос(1)

Ваш ответ на вопрос