Thank you for your comments. I am aware of the Y combinator which I played with in other modules: (see my blog: http://baruchel.github.io/blog/ ) but this one was for reaching a very simple syntax for the end-user!
I have a more serious module implementing tail-calls (either for recursion or not) where the end-user has to follow the syntax of the Y-combinator: see https://news.ycombinator.com/item?id=9901309
I have a more serious module implementing tail-calls (either for recursion or not) where the end-user has to follow the syntax of the Y-combinator: see https://news.ycombinator.com/item?id=9901309