macros de scala: agregar función a la clase

Soy nuevo en las macros de Scala y estoy usando Scala 2.10.0-RC3.

Quiero escribir una macro que agregue una función a una clase. Ejemplo de uso:

trait MyTrait {
  def addF = macro { /*add "def f = 3" to class*/ }
}

class MyClass extends MyTrait {
  addF //Adds the "def f" to MyClass
}

object Main {
  val t = new MyClass
  assert(t.f==3)
}

Necesito esto en el siguiente escenario. Mi primer intento no usé macros, pero no funcionó, porque no puedo heredar el mismo rasgo dos veces.

trait AddF[T] {
  def f(t: T) { /* ...do sthg ... */ }
}

class MyClass extends AddF[Int] with AddF[String]

Con la macro solución podría escribir

class MyClass extends MyTrait {
  addF[Int]()
  addF[String]()
}

¿Hay alguna manera de hacer esto con macros de scala? ¿O hay otra manera de lograr esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta