sig
  val split : 'a list -> int -> 'a list * 'a * 'a list
  val replace : '-> 'a list -> int -> 'a list
  val replace_map : ('-> 'a) -> 'a list -> int -> 'a list
  val position : '-> 'a list -> int
  val fprintf_list : 'Useful.fprintf -> 'a list Useful.fprintf
end