On 3/28/2014 1:41 AM, Tony Morris wrote: > It is the constructor for a non-empty list (Data.List.NonEmpty). > > http://hackage.haskell.org/package/semigroups-0.12.2/docs/Data-List-NonEmpty.html > Interesting— this is the page I had found: http://www.haskell.org/haskellwiki/Non-empty_list So why do we need both :| and <| (or cons) ?