h&&      !"#$% Safe-Inferred'  reverse-listAs a counterpart to . reverse-listThe : consisting of head and tail elements, such as created by . reverse-list An empty  , such as . reverse-list The empty . reverse-listO(1) Append an element.If you are looking for snoc, you should use an ", or a finite sequence/queue type. reverse-listO(1) Access the first element and trailing portion of the list. See also  and  if you only need one component.If you are looking for unsnoc, you should use an ", or a finite sequence/queue type. reverse-listO(1)> extract the first element of a list, if it exists. See also  if you also need  at the same time. reverse-listO(1) extract the elements of a list other than the last, if they exist. See also  if you also need  at the same time. reverse-listCreate a single-element .   Safe-Inferred':>  reverse-listI initially went with this boring name for reverse-lists. However, I genuinely would rather write (and pronounce)  .  reverse-listThis datatype defines snoc-lists: lists with O(1) append and O(n) prepend. Underneath the hood, it is just a plain list, but understood as containing its elements in reverse order.6| See? It's "List" in reverse? I dunno, I just think  ( is an inelegant name, and word-initial ts is one of my favorite phonemes.  reverse-listThe  = consisting of initial and last elements, such as created by .  reverse-list An empty   , such as  .  reverse-list The empty  . reverse-listO(1) Append an element.If you are looking for cons?, you should use a plain list, or a finite sequence/queue type. reverse-listO(1) Access the last element and initial portion of the list. See also  and  if you only need one component.If you are looking for uncons?, you should use a plain list, or a finite sequence/queue type. reverse-listCreate a single-element  . reverse-list Test if an   is empty. reverse-listO(1)= extract the last element of a list, if it exists. See also  if you also need  at the same time. reverse-listO(1) extract the elements of a list other than the last, if they exist. See also  if you also need  at the same time. reverse-list Remove all & s from an   of 's. reverse-listO(n), Convert to a plain list, maintaining order.This is here so that you can escape back out to normal cons-list land once you're done building your list.See  for when order doesn't matter. reverse-listO(n). Convert from a plain list, maintaining order.This is added for completion's sake, as I'm not sure you'll often need this adapter.See  for the inverse, or  for when order doesn't matter. reverse-listO(0) Reverse an  , returning a plain cons list.This is here so that when the output list is fed to an order-agnostic function, you don't have to pay the cost of reversing the representation.See  for when order matters. reverse-listO(0)) Reverse a plain cons list, rerutning an  .See . for the inverse, and why you might use these. reverse-listWrite the contents of the   into an array, assuming you know the length of the array. This is useful in the common case of buffering an unknown-length stream before allocating contiguous space for the elements.If you sepcify to small a langth, the initial part of the array will be uninitialized. If you specify to large a length, the initial part of the list will not be written.If you are unaware of the size of the list, `Arr.fromList . fromList` will do the trick, but will obviously be slower. reverse-listConvert to a set without an intermediate conversion to a cons-list.   (       !"#$%&'(&')*reverse-list-0.3.0.0-inplaceData.List.ConsData.List.SnocTsilListConsNilnilconsunconsheadtail singletonRListSnocsnocunsnocnulllastinit catMaybestoListfromList reverseOut reverseIntoArrayNtoSet$fAlternativeTsil $fMonoidTsil$fSemigroupTsil$fFoldableTsil $fReadTsil $fShowTsil $fNFDataTsil $fGenericTsil$fEqTsil $fFunctorTsil$fApplicativeTsilbase GHC.MaybeNothingMaybe