Module Int.Morphism

type ('a, 'b) t = ('a'b) Make(BL.Empty)(BL.Codegen)(BL.Bool)(BL.Int)(BL.Int)(BL.Loop)(BL.Product)(BL.Exn)(BL.Sequencing).Morphism.t
val underlying : ('a'b) t -> 'a m -> 'b m
val domain : ('a'b) t -> 'a t
val range : ('a'b) t -> 'b t
val identity : 'a t -> ('a'a) t
val compose : ('a'b) t -> ('b'c) t -> ('a'c) t
val tensor : ('a'b) t -> ('c'd) t -> ('a * 'c'b * 'd) t
val pullback_at_path : (pospos) t -> 'a Path.t -> 'a t -> ('a'a) t k
val pullback_pointwise : (pospos) t -> 'a t -> ('a'a) t k
val sub : ofs:pos m -> pos t -> pos t -> (pospos) t k