WIP: Minimal hack to make recursion work

This is a minimal HACK to get recursion working.  The goal is to start a discussion about how to properly implement it and how do we handle other situation besides self recursion.