When macros 1.1 are stable (rust-lang/rfcs#1681) macros implementing traits should propably turned into attributes.