logging all phases with level 2, details with level 3
Fix logic bug in guards
lazy val to avoid unused first DSL transform