Relax on Functor type constraint
Implement transformation on PLIST