どっちにしろ、無理にElementなんて型を導入するのが意味不明に思えるな。
わざわざ使いづらくしてるだけじゃん。

Element.TypeでMapからIProcessorを引っ張ってくる意味も分からない。
それなら最初からElemetにTypeではなくIProcessorを持たせれば済む。
何がしたいんだろう。