with a visitor, probably tostring is not always necessary