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