Support visitor and fix warnings