Visitor
Visitor is "pull", while `MapSerializer` and `SeqSerializer` are "push" like the rest of the API.