empty :: Int -> MaxN a
empty maxSize
  | maxSize < 0 = error "MaxN.empty: maxSize < 0"
  | otherwise   = MaxN maxSize 0 (maxSize == 0) []
empty :: Int -> MaxN a
empty maxSize
  | maxSize < 0 = error "MaxN.empty: maxSize < 0"
  | otherwise   = MaxN maxSize 0 (maxSize == 0) []
empty maxSize
  | maxSize < 0 = error "MaxN.empty: maxSize < 0"
  | otherwise   = MaxN maxSize 0 (maxSize == 0) []