functor
(A : sig
type t
type character
val empty : Functors.t
val length : Functors.t -> int
val sub_exn : Functors.t -> index:int -> length:int -> Functors.t
end) ->
sig
val split_at : A.t -> index:int -> A.t * A.t
val take : A.t -> index:int -> A.t
val drop : A.t -> index:int -> A.t
end