:: Ord a => [a] -> [a] package:vector

O(n) Convert a vector to a list.
O(1) Yield all but the last element without copying. The vector may not be empty.
O(1) Yield all but the first element without copying. The vector may not be empty.
O(1) Yield all but the last element without copying. The vector may not be empty, but this is not checked.
O(1) Yield all but the first element without copying. The vector may not be empty, but this is not checked.
O(n) Yield the argument, but force it not to retain any extra memory, by copying it. This is especially useful when dealing with slices. For example:
force (slice 0 2 <huge vector>)
Here, the slice retains a reference to the huge vector. Forcing it creates a copy of just the elements that belong to the slice and allows the huge vector to be garbage collected.
O(n) Reverse a vector.
O(n) Convert a list to a vector. During the operation, the vector’s capacity will be doubling until the list's contents are in the vector. Depending on the list’s size, up to half of the vector’s capacity might be empty. If you’d rather avoid this, you can use fromListN, which will provide the exact space the list requires but will prevent list fusion, or force . fromList, which will create the vector and then copy it without the superfluous space.
O(n) Convert between different vector types.