# | appendAndInsertAndSplitEvenly(...) | idx:int -> item:'a -> a1:'a [] -> a2:'a [] -> 'a [] * 'a [] | |
# | appendAndSplitAt splitIdx left right | splitIdx:int -> left:'a [] -> right:'a [] -> 'a [] * 'a [] | |
# | copyAndAppend newItem oldArr | newItem:'a -> oldArr:'a [] -> 'a [] | |
# | copyAndInsertAt idx newItem oldArr | idx:int -> newItem:'a -> oldArr:'a [] -> 'a [] | |
# | copyAndInsertIntoFullArray(...) | idx:int -> newItem:'a -> oldArr:'a [] -> 'a [] * 'a | |
# | copyAndPop(oldArr) | oldArr:'a [] -> 'a [] | |
# | copyAndRemoveAt idx oldArr | idx:int -> oldArr:'a [] -> 'a [] | |
# | copyAndSet idx newItem oldArr | idx:int -> newItem:'a -> oldArr:'a [] -> 'a [] | |
| createManyFromEnumerator(...) | e:IEnumerator<'T> -> totalLen:int -> lenPerArray:int -> seq<'T []> | |
# | createManyFromSeq s totalLen lenPerArray | s:seq<'T> -> totalLen:int -> lenPerArray:int -> seq<'T []> | |
# | expandToBlockSize(arr) | arr:'T [] -> 'T [] | |
| fill2FromEnumerator e idx len arrL arrR | e:IEnumerator<'T> -> idx:int -> len:int -> arrL:'T [] -> arrR:'T [] -> unit | |
# | fill2FromSeq s idx len arrL arrR | s:seq<'T> -> idx:int -> len:int -> arrL:'T [] -> arrR:'T [] -> unit | |
| fillFromEnumerator e idx len arr | e:IEnumerator<'T> -> idx:int -> len:int -> arr:'T [] -> unit | |
# | fillFromSeq s idx len arr | s:seq<'T> -> idx:int -> len:int -> arr:'T [] -> unit | |
# | insertAndSplitEvenly idx item arr | idx:int -> item:'a -> arr:'a [] -> 'a [] * 'a [] | |
# | popFirstAndPush item oldArr | item:'a -> oldArr:'a [] -> 'a [] | |
# | smallestRunOfAtLeast n arr | n:byte -> arr:byte [] -> int * int | |