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
