add visitor hasIdentity and docs