fixed IVisitor return value