demo_monoid_Last = do
  print ((Last (Just 3)) <> (Last (Just 4)) <> (Last (Nothing)))
  -- local type binding
  let x :: (Num a) => (Last a)
      x = (Last Nothing)
   in print x
demo_monoid_Last = do
  print ((Last (Just 3)) <> (Last (Just 4)) <> (Last (Nothing)))
  -- local type binding
  let x :: (Num a) => (Last a)
      x = (Last Nothing)
   in print x
demo_monoid_Last = do
  print ((Last (Just 3)) <> (Last (Just 4)) <> (Last (Nothing)))
  -- local type binding
  let x :: (Num a) => (Last a)
      x = (Last Nothing)
   in print x