Support of extensions on a type other than the attached one

Peer macros doesn't work as well,

extension declarations can never be produced by a macro. The effect of an extension declaration is wide-ranging, with the ability to add conformances, members, and so on. These capabilities are meant to be introduced in a more fine-grained manner.
"Macro expansion cannot introduce extension"? - #3 by stephencelis