refactor common macro code with helper + add desugar2

desugar2 is done via def macros and will have more desugaring then desugar

desugar { identity(2) } => identity(2)
desugar2{ identity(1) } => scala.Predef.identity[Int](1)