{"ast_node_type":"function","tokens":[{"end":93,"kind":"keyword","start":0,"text":"//"}]}
                // considering cases when we have `let T(x) = foo()` and `fn foo<T>() -> T;`,
                // Marks the ADT live if its variant appears as the pattern,
                // we will lose the liveness info of `T` cause we cannot mark it live when visiting `foo`.