module type Siso = sig ... end
val build_siso : (module Siso) -> t -> t
module type Sipo = sig ... end
val build_sipo : (module Sipo) -> t -> t * t
module type Sito = sig ... end
val build_sito : (module Sito) -> t -> t * t * t
module type Siao = sig ... end
val build_siao : (module Siao) -> t -> t array
module type Piso = sig ... end
val build_piso : (module Piso) -> t -> t -> t
module type Aiso = sig ... end
val build_aiso : (module Aiso) -> t array -> t