In this talk, I will introduce one of the projects I worked on during my internship in the MoonBit team. Starting with an AST-based linter for unused local variables as seen in PureScript, I will explain why such analysis needs more careful attention when it comes to all kinds of dead variables/functions/types. To the end, I will demonstrate how a worklist-based algorithm, as implemented in MoonBit, works better.

This talk requires no prior knowledge about MoonBit and has nothing to do with type theories, so it should be accessible to everyone.