Did you use -Wold-style-cast? We've come full circle now, and what we have seems to be more complicated than what we had before and I am not sure what was the problem in the first place... Can we just step back and understand what is the problem we are trying to solve with all this complexity?
christos