Needed to add NAME(recursive name) because usual local function cannot be declared recursive by default because MSVC does not optimize (inline) it even with C++03 feature.
NAME(recursive name)