@@ -358,6 +358,19 @@ declared (PData _ _ _ _ (PDatadecl n _ ts)) = n : map fstt ts
358358declared (PParams _ _ ds) = concatMap declared ds
359359declared (PMutual _ ds) = concatMap declared ds
360360declared (PNamespace _ ds) = concatMap declared ds
361+
362+-- get the names declared, not counting nested parameter blocks
363+tldeclared :: PDecl -> [Name]
364+tldeclared (PFix _ _ _) = []
365+tldeclared (PTy _ _ _ _ n t) = [n]
366+tldeclared (PPostulate _ _ _ _ n t) = [n]
367+tldeclared (PClauses _ _ n _) = [] -- not a declaration
368+tldeclared (PRecord _ _ _ n _ _ c _) = [n, c]
369+tldeclared (PData _ _ _ _ (PDatadecl n _ ts)) = n : map fstt ts
370+ where fstt (_, a, _, _) = a
371+tldeclared (PParams _ _ ds) = []
372+tldeclared (PMutual _ ds) = concatMap tldeclared ds
373+tldeclared (PNamespace _ ds) = concatMap tldeclared ds
361374-- declared (PImport _) = []
362375
363376defined :: PDecl -> [Name]