sig val init : 'a -> unit val sampling : 'a -> 'b -> 'c -> unit end