object Test extends App{
  case class Queryable2[T]() { def filter(predicate: T => Boolean) = ??? }
  trait CoffeesTable{ def sales : Int }
  val q = Queryable2[CoffeesTable]()
  import scala.reflect.runtime.universe._
  import scala.reflect.runtime.{universe => ru}
  val code = reify{q.filter(_.sales > 5)}
  import scala.reflect.runtime.{currentMirror => cm}
  import scala.tools.reflect.ToolBox
  val toolbox = cm.mkToolBox()
  val ttree = toolbox.typeCheck(code.tree)
}
