right now both implement the same logic. as a general principle, it's bad to repeat the same logic in multiple places. it seems Deparser does a more complete traversal of the objects, shouldn't we implement all toString() with their corresponding Deparsers ?