Introduce `make_visitor` for creating "type switches".