Mavryk_stdlib.TzListrepeat n x is List.of_array (Array.make n x) but more efficient.
If n < 0 it is the empty list [].
take_n n l returns the n first elements of l.
If n < 0 it is the empty list []. If n > List.length l it is the list l in its entirety.
rev_take_n n l is List.rev (take_n n l) but more efficient.
drop_n n l returns the suffix of l after the first n elements.
If n < 0 it is the list l in its entirety. If n > List.length l it is the empty list [].
split_n n l is (take_n n l, drop_n n l) but more efficient.
rev_split_n n l is (rev_take_n n l, drop_n n l) but more efficient.