I believe `Visit*` methods assure you a notnull pointer, but I am okay with having an extra guard.