x and x are not caught by the Reader + continuation-based guard that checks for duplicates, because duplicates are checked when going down the tree.
Since the two x are at the same level, I get those two as values (renamed, to return), but not in the Reader context.
-- https://github.com/Kleidukos/ProtoHaskell/blob/main/src/Compiler/Renamer.hs#L198-L205
renameBinds :: PhLocalBinds ParsedName -> Renamer (PhLocalBinds Name)
renameBinds localBinds = do