Well, like I said I'd rather keep the `~Writer` and fix the problem in the language, because I think we need the ability to convert `~Trait` to `~Any` for downcasting: this is going to keep biting us.