module Foo
  ( foo,

    -- * Something
    bar,

    -- | A multiline
    -- comment here
    baz,

    -- * Another thing
    MyClass
      ( class1
      , class2
      ),
  )
where

import qualified MegaModule as M
  ( Either,
    Maybe (Just, Nothing),
    MaybeT (..),
    Monad
      ( return
      , (>>)
      , (>>=)
      ),
    MonadBaseControl,
    join,
    liftIO,
    void,
    (<<<),
    (>>>),
  )

{- // -}

-- https://github.com/fourmolu/fourmolu/issues/341
module Foo
  ( -- | asdf
    singleExport
  ) where

{- // -}

-- https://github.com/fourmolu/fourmolu/issues/381
module Foo (
    -- * Re-export of module
    module X,
    -- * Some other thing
    Foo,
) where

{- // -}

-- See data/examples/import/docstrings-after-exports.hs
module Test (
        since1, -- ^ @since 1.0
        since2  -- ^ @since 2.0
      , since3  -- ^ @since 3.0
      , SinceType(..) -- ^ @since 4.0
      , SinceClass(..) -- ^ @since 5.0
      , Multi(..)
        -- ^ since 6.0
        -- multi
        -- line
      ) where
