It's the same rational as behind removing the serialization logic in the visitors. It is still typesafe however, as commands need to implement Command.accept()