Abstracted visit type module