module F (* test *) (M : sig
  type t
end) : S

module Simple: (Parameters with type update_result := state) -> S

module Left_variadic:
  (Parameters with type update_result := state * left array) -> S
