Currently I'm working with Andrea on NRefactory (name may change) which is a merge of #Refactory and VBRefactory. No longer do we need to maintain two different abstract syntax trees or different parser related code. In the past maintenance was an error prone process because each bugfix or enhancement needed to be ported to the other parser layer. Now we're merging VB and C# parsing and have only one representation for the source code. That will prevent many bugs. NRefactory will have a good unit test suite which will ensure that we're not going to break much during code refactoring and future maintenance.

Considering .NET's emphasis on multiple languages sharing a common binary format (CIL) and some basic standards (ie the CLS), would it be possible to write the lower common layer of the refactoring system aginst the CLS, so that future language bindings for other CLS compliant langauges can use/extend the NRefactory library? Ie refactoring for Effeil, JScript, J# etc.