16:44:02beachscymtym: It looks to me like the code in CST that canonicalizes declarations should be in a separate library, and it should use the trick that you use so that the same code can be used for CSTs and for S-expressions. No?
16:45:03beachIt is currently in the CST library because I didn't think of abstracting out the representation so that it would work on S-expressions as well.
16:45:13beachBut then, maybe you have already done this work?
16:53:03beachThe current module also has some problems. It is not possible to inform it about DECLARATION declarations for instance.
16:53:48beachAnd there is this silly IGNORE-DECLS that should probably be removed. Client code can easily filter the result.
16:59:26beachNow that I think about it, the IGNORE-DECLS could be used to filter out declaration specifiers that have a declaration identifier proclaimed in a DECLARATION declaration.