A javascript compiler that transforms tail/mutually recursive algorithms into their fully optimized versions