Understanding Python bytecode by implementing tail call optimization | Dark Hacker News