made a V2 composition that accepts runtime functors
This was not possible in V1
Plays well with the standard functional tools (partial specializations and stuff)
Added tests for composition V2