I made free monad using church encoding (though I couldnt make Proxy using it - couldnt make the function flipComposeResponse
)
Also tried to make Church-encoded Proxy (though couldnt make connectProducerConsumer
too and theorems that are present in coq version)