demo_monoid_Sort = do
  -- sort first by length, then alphabatically
  print (sortBy (cmpLen <> compare) (words "The reasoning behind this definition"))
demo_monoid_Sort = do
  -- sort first by length, then alphabatically
  print (sortBy (cmpLen <> compare) (words "The reasoning behind this definition"))
demo_monoid_Sort = do
  -- sort first by length, then alphabatically
  print (sortBy (cmpLen <> compare) (words "The reasoning behind this definition"))