Manual AST manipulation can be tricky. Try Select(Ident(newTermName("scala")), newTermName("Predef"))
instead of This(newTypeName("Predef"))
.
Or even better, consider using quasiquotes (http://docs.scala-lang.org/overviews/macros/quasiquotes.html). With them, composing a reference to implicitly becomes as simple as scala.Predef.implicitly
.