replace begin/end-pairs in Visitor/Transformer by scalar visit and transform funs