operator: Add polymorphic operators part 1

* Add factory/implementation class field in extension type
* Use it for all types