transformation: Make it extendable

* Use polymorphism on model rel type to launch different operators
* Add kleisli version of transformation