Module Type.Mapper

include module type of struct include Bap_c_type_mapper_intf end
module type S = Bap_c_type_mapper_intf.S

Type mapper, visitor, iterator, finder all in one.

include module type of struct include Bap_c_type_mapper end

include visitor/mapper with the monad stripped away.

include Bap_c_type_mapper_intf.S with type ('a, 'e) m = 'a
type ('a, 'e) m = 'a
class 'e base : object ... end

Search Monad.

the mapper lifted into a regular state monad.

module Finder = Bap_c_type_mapper.Finder

the visitor lifted into the search monad.

Make(M) lifts the visitor into monad M.