module Ast_iterator:sig..end
Ast_iterator.iterator allows to implement AST inspection using open recursion.  A
    typical mapper would be based on Ast_iterator.default_iterator, a trivial iterator,
    and will fall back on it for handling the syntax it does not modify.type iterator record implements one "method" per syntactic category,
    using an open recursion style: each method takes as its first
    argument the iterator to be applied to children in the syntax
    tree.val default_iterator : iterator