diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## CUE sheet 0.1.1
+
+* Improved documentation.
+
+* Improved the parser using the newest features of Megaparsec 5.3.0.
+
 ## CUE sheet 0.1.0
 
 * Initial release.
diff --git a/LICENSE.md b/LICENSE.md
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-Copyright © 2016 Mark Karpov
+Copyright © 2016–2017 Mark Karpov
 
 All rights reserved.
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -18,21 +18,27 @@
 > authoring applications and media players.
 
 [Read more on Wikipedia](https://en.wikipedia.org/wiki/Cue_sheet_(computing)).
-The description of the format can be
-found
+The description of the format can be found
 [here](https://wayback.archive.org/web/20070614044112/http://www.goldenhawk.com/download/cdrwin.pdf),
-scroll to Appendix A (it's closest we get to a “specification”).
+scroll to the appendix A (it's closest we get to a “specification”).
 
 ## Quick start
 
 [Read the Haddocks](https://hackage.haskell.org/package/cue-sheet). In
 short, you parse a `CueSheet` with `parseCueSheet` function and render a
-`CueSheet` with `renderCueSheet` function, pretty straightforward, eh? Of
-course you still can construct a `CueSheet` manually. The data types are
+`CueSheet` with `renderCueSheet` function—pretty straightforward, eh? Of
+course, you still can construct a `CueSheet` manually. The data types are
 defined in such a way that incorrect CUE sheets are impossible to represent.
 
+## Contribution
+
+Issues, bugs, and questions may be reported in [the GitHub issue tracker for
+this project](https://github.com/mrkkrp/cue-sheet/issues).
+
+Pull requests are also welcome and will be reviewed quickly.
+
 ## License
 
-Copyright © 2016 Mark Karpov
+Copyright © 2016–2017 Mark Karpov
 
 Distributed under BSD 3 clause license.
diff --git a/Text/CueSheet.hs b/Text/CueSheet.hs
--- a/Text/CueSheet.hs
+++ b/Text/CueSheet.hs
@@ -1,9 +1,9 @@
 -- |
 -- Module      :  Text.CueSheet
--- Copyright   :  © 2016 Mark Karpov
+-- Copyright   :  © 2016–2017 Mark Karpov
 -- License     :  BSD 3 clause
 --
--- Maintainer  :  Mark Karpov <markkarpov@openmailbox.org>
+-- Maintainer  :  Mark Karpov <markkarpov92@gmail.com>
 -- Stability   :  experimental
 -- Portability :  portable
 --
@@ -11,9 +11,6 @@
 -- types are defined in such a way that incorrect CUE sheets are impossible
 -- to represent. See 'parseCueSheet' for parsing of plain text CUE sheet
 -- files and 'renderCueSheet' for rendering.
---
--- If you need to embed\/extract a CUE sheet in a FLAC file, see the @flac@
--- package <https://hackage.haskell.org/package/flac>.
 
 module Text.CueSheet
   ( -- * Types
diff --git a/Text/CueSheet/Parser.hs b/Text/CueSheet/Parser.hs
--- a/Text/CueSheet/Parser.hs
+++ b/Text/CueSheet/Parser.hs
@@ -1,13 +1,13 @@
 -- |
 -- Module      :  Text.CueSheet.Parser
--- Copyright   :  © 2016 Mark Karpov
+-- Copyright   :  © 2016–2017 Mark Karpov
 -- License     :  BSD 3 clause
 --
--- Maintainer  :  Mark Karpov <markkarpov@openmailbox.org>
+-- Maintainer  :  Mark Karpov <markkarpov92@gmail.com>
 -- Stability   :  experimental
 -- Portability :  portable
 --
--- The modules contains just CUE sheet parser. You probably want to import
+-- The modules contains a CUE sheet parser. You probably want to import
 -- "Text.CueSheet" instead.
 
 {-# LANGUAGE DeriveDataTypeable #-}
@@ -26,7 +26,7 @@
 import Control.Monad.State.Strict
 import Data.Data (Data)
 import Data.List.NonEmpty (NonEmpty (..))
-import Data.Maybe (isJust)
+import Data.Maybe (isJust, fromMaybe)
 import Data.Text (Text)
 import Data.Typeable (Typeable)
 import GHC.Generics
@@ -61,19 +61,28 @@
     maybe "" ((++ "\n") . showErrorComponent) mfailure ++
     maybe "" (\n -> "in declaration of the track " ++ show n) mtrack
 
--- | Enumeration of all failures that may happen during run of
+-- | The enumeration of all failures that may happen during running of
 -- 'parseCueSheet'.
 
 data CueParserFailure
   = CueParserFail String
+    -- ^ 'fail' was used (should not happen)
   | CueParserIndentation Ordering Pos Pos
+    -- ^ Incorrect indentation (should not happen)
   | CueParserInvalidCatalog Text
+    -- ^ We ran into an invalid media catalog number
   | CueParserInvalidCueText Text
+    -- ^ We ran into an invalid text literal
   | CueParserTrackOutOfOrder
+    -- ^ We spotted a track out of order
   | CueParserInvalidTrackIsrc Text
+    -- ^ We ran into an invalid ISRC
   | CueParserInvalidSeconds Natural
+    -- ^ We ran into an invalid number of seconds
   | CueParserInvalidFrames Natural
+    -- ^ We ran into an invalid number of frames
   | CueParserTrackIndexOutOfOrder
+    -- ^ We spotted a track index out of order
   deriving (Show, Eq, Ord, Data, Typeable, Generic)
 
 instance ShowErrorComponent CueParserFailure where
@@ -102,7 +111,7 @@
 type Parser a = StateT Context (Parsec Eec BL.ByteString) a
 
 -- | Context of parsing. This is passed around in 'StateT'. We need all of
--- this to signal parse errors on duplicate declaration of things that
+-- this to signal parse errors on duplicate declarations of things that
 -- should only be declared once according to description of the format, to
 -- validate track numbers, etc.
 
@@ -129,7 +138,7 @@
 
 parseCueSheet
   :: String            -- ^ File name to include in error messages
-  -> BL.ByteString     -- ^ CUE sheet to parsec as a lazy 'BL.ByteString'
+  -> BL.ByteString     -- ^ CUE sheet to parse as a lazy 'BL.ByteString'
   -> Either (ParseError Char Eec) CueSheet -- ^ 'ParseError' or result
 parseCueSheet = parse (contextCueSheet <$> execStateT pCueSheet initContext)
   where
@@ -148,7 +157,7 @@
       , contextIndices        = []
       , contextIndexCount     = 0 }
 
--- | Parse a 'CueSheet'. The result is not returned, but written in
+-- | Parse a 'CueSheet'. The result is not returned, but written in the
 -- 'Context'.
 
 pCueSheet :: Parser ()
@@ -314,7 +323,7 @@
   failAtIf already "FLAGS"
   void (some pFlag) <* eol <* scn
 
--- | A helper data type.
+-- | A helper data type for track flags.
 
 data CueTrackFlag = DCP | FourCH | PRE | SCMS
 
@@ -439,11 +448,15 @@
 
 withCheck :: (a -> Either CueParserFailure b) -> Parser a -> Parser b
 withCheck check p = do
-  r <- lookAhead p
+  cpos <- getPosition
+  npos <- fromMaybe cpos <$> getNextTokenPosition
+  r <- p
   case check r of
-    Left custom -> failure E.empty E.empty $
-      E.singleton (Eec Nothing (Just custom))
-    Right x -> x <$ p
+    Left custom -> do
+      setPosition npos
+      failure E.empty E.empty $
+        E.singleton (Eec Nothing (Just custom))
+    Right x -> return x
 
 -- | If the first argument is 'True' and we can parse the given command,
 -- fail pointing at the beginning of the command and report it as something
@@ -457,22 +470,18 @@
     then empty
     else p
 
--- | Indicate that the inner parser belongs to declaration of track with
--- given index. The index of the track will be added to 'ParseError's to
--- help user find where the error happened.
+-- | Indicate that the inner parser belongs to declaration of a track with
+-- the given index. The index of the track will be added to 'ParseError's to
+-- help the user find where the error happened.
 
 inTrack :: Natural -> Parser a -> Parser a
-inTrack n m = do
-  r <- observing m
-  case r of
-    Left ParseError {..} ->
-      failure errorUnexpected errorExpected $
+inTrack n = region f
+  where
+    f e@ParseError {..} =
         if E.null errorCustom
-          then E.singleton (Eec (Just n) Nothing)
-          else E.map f errorCustom
-        where
-          f (Eec mn x) = Eec (mn <|> Just n) x
-    Right x -> return x
+          then e { errorCustom = E.singleton (Eec (Just n) Nothing) }
+          else e { errorCustom = E.map g errorCustom }
+    g (Eec mn x) = Eec (mn <|> Just n) x
 
 -- | A labelled literal (a helper for common case).
 
diff --git a/Text/CueSheet/Render.hs b/Text/CueSheet/Render.hs
--- a/Text/CueSheet/Render.hs
+++ b/Text/CueSheet/Render.hs
@@ -1,13 +1,13 @@
 -- |
 -- Module      :  Text.CueSheet.Render
--- Copyright   :  © 2016 Mark Karpov
+-- Copyright   :  © 2016–2017 Mark Karpov
 -- License     :  BSD 3 clause
 --
--- Maintainer  :  Mark Karpov <markkarpov@openmailbox.org>
+-- Maintainer  :  Mark Karpov <markkarpov92@gmail.com>
 -- Stability   :  experimental
 -- Portability :  portable
 --
--- The module contains just CUE sheet render. You probably want to import
+-- The module contains a CUE sheet render. You probably want to import
 -- "Text.CueSheet" instead.
 
 {-# LANGUAGE FlexibleContexts  #-}
@@ -34,7 +34,7 @@
 import qualified Data.Text               as T
 import qualified Data.Text.Encoding      as T
 
--- | Render a CUE sheet to a lazy 'BL.ByteString'. All 'Text' values in the
+-- | Render a CUE sheet as a lazy 'BL.ByteString'. All 'Text' values in the
 -- 'CueSheet' will be UTF-8 encoded.
 
 renderCueSheet
@@ -136,7 +136,7 @@
 formatNat :: Natural -> Text
 formatNat = T.pack . printf "%02d"
 
--- | Render file type as per the CUE specs.
+-- | Render a 'CueFileType' as per the CUE specs.
 
 renderFileType :: CueFileType -> Text
 renderFileType Binary   = "BINARY"
@@ -145,7 +145,7 @@
 renderFileType Wave     = "WAVE"
 renderFileType MP3      = "MP3"
 
--- | Render track type as per the CUE specs.
+-- | Render a 'CueTrackType' as per the CUE specs.
 
 renderTrackType :: CueTrackType -> Text
 renderTrackType CueTrackAudio      = "AUDIO"
diff --git a/Text/CueSheet/Types.hs b/Text/CueSheet/Types.hs
--- a/Text/CueSheet/Types.hs
+++ b/Text/CueSheet/Types.hs
@@ -1,18 +1,17 @@
 -- |
 -- Module      :  Text.CueSheet.Types
--- Copyright   :  © 2016 Mark Karpov
+-- Copyright   :  © 2016–2017 Mark Karpov
 -- License     :  BSD 3 clause
 --
--- Maintainer  :  Mark Karpov <markkarpov@openmailbox.org>
+-- Maintainer  :  Mark Karpov <markkarpov92@gmail.com>
 -- Stability   :  experimental
 -- Portability :  portable
 --
 -- Types describing structure of a CUE sheet. You probably want to import
 -- "Text.CueSheet" instead.
 
-{-# LANGUAGE CPP                #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE CPP           #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 module Text.CueSheet.Types
   ( CueSheet (..)
@@ -38,11 +37,9 @@
 
 import Control.Monad.Catch
 import Data.Char (isDigit, isAscii, isLetter)
-import Data.Data (Data)
 import Data.List.NonEmpty (NonEmpty (..))
 import Data.Monoid ((<>))
 import Data.Text (Text)
-import Data.Typeable (Typeable)
 import GHC.Generics
 import Numeric.Natural
 import Test.QuickCheck
@@ -71,7 +68,7 @@
     -- ^ Number of the first track. Typically 1, but may be greater than 1.
   , cueFiles      :: !(NonEmpty CueFile)
     -- ^ Collection of files to be written.
-  } deriving (Show, Eq, Ord, Data, Typeable, Generic)
+  } deriving (Show, Eq, Ord, Generic)
 
 instance Arbitrary CueSheet where
   arbitrary = CueSheet
@@ -97,7 +94,7 @@
     -- ^ Type of file.
   , cueFileTracks :: !(NonEmpty CueTrack)
     -- ^ Collection of tracks in the file.
-  } deriving (Show, Eq, Ord, Data, Typeable, Generic)
+  } deriving (Show, Eq, Ord, Generic)
 
 instance Arbitrary CueFile where
   arbitrary = CueFile
@@ -124,7 +121,7 @@
     -- ^ Audio WAVE file (44.1 kHz, 16 bit stereo).
   | MP3
     -- ^ Audio MP3 file (44.1 kHz 16 bit stereo).
-  deriving (Show, Read, Eq, Ord, Bounded, Enum, Data, Typeable, Generic)
+  deriving (Show, Read, Eq, Ord, Bounded, Enum, Generic)
 
 instance Arbitrary CueFileType where
   arbitrary = elements [minBound..maxBound]
@@ -161,7 +158,7 @@
     -- only index that's stored in the disc's table of contents.
   , cueTrackPostgap              :: !(Maybe CueTime)
     -- ^ Track's postgap.
-  } deriving (Show, Eq, Ord, Data, Typeable, Generic)
+  } deriving (Show, Eq, Ord, Generic)
 
 instance Arbitrary CueTrack where
   arbitrary = CueTrack
@@ -194,16 +191,16 @@
   | CueTrackMode2_2352 -- ^ CD-ROM XA Mode2 data.
   | CueTrackCdi2336    -- ^ CD-I Mode2 data.
   | CueTrackCdi2352    -- ^ CD-I Mode2 data.
-  deriving (Show, Read, Eq, Ord, Bounded, Enum, Data, Typeable, Generic)
+  deriving (Show, Read, Eq, Ord, Bounded, Enum, Generic)
 
 instance Arbitrary CueTrackType where
   arbitrary = elements [minBound..maxBound]
 
 -- | This datatype is used to indicate duration and position in time. It
--- contains number of frames. There is 75 frames in one second.
+-- contains number of frames. There are 75 frames in one second.
 
 newtype CueTime = CueTime Natural
-  deriving (Show, Read, Eq, Ord, Data, Typeable, Generic)
+  deriving (Show, Read, Eq, Ord, Generic)
 
 instance Arbitrary CueTime where
   arbitrary = CueTime <$> arbitrary
@@ -244,7 +241,7 @@
 -- characters must be numeric.
 
 newtype Mcn = Mcn Text
-  deriving (Eq, Ord, Data, Typeable, Generic)
+  deriving (Eq, Ord, Generic)
 
 instance Show Mcn where
   show = show . unMcn
@@ -272,7 +269,7 @@
 -- to escape them properly.
 
 newtype CueText = CueText Text
-  deriving (Eq, Ord, Data, Typeable, Generic)
+  deriving (Eq, Ord, Generic)
 
 instance Show CueText where
   show = show . unCueText
@@ -299,7 +296,7 @@
 -- last seven are numeric only.
 
 newtype Isrc = Isrc Text
-  deriving (Eq, Ord, Data, Typeable, Generic)
+  deriving (Eq, Ord, Generic)
 
 instance Show Isrc where
   show = show . unIsrc
@@ -310,7 +307,7 @@
     post <- vectorOf 7 (arbitrary `suchThat` isDigit)
     (return . Isrc . T.pack) (pre <> post)
 
--- | Make a 'Isrc', if the provided 'Text' value is not a valid ISRC, throw
+-- | Make an 'Isrc', if the provided 'Text' value is not a valid ISRC, throw
 -- the 'InvalidIsrc' exception.
 
 mkIsrc :: MonadThrow m => Text -> m Isrc
@@ -326,7 +323,7 @@
 unIsrc :: Isrc -> Text
 unIsrc (Isrc x) = x
 
--- | Exception type for bad things that may happen while you use the
+-- | Exception type for the bad things that may happen while you use the
 -- library.
 
 data CueSheetException
@@ -340,20 +337,20 @@
     -- ^ Provided text wasn't a valid CUE text.
   | InvalidIsrc Text
     -- ^ Provided text wasn't a valid ISRC.
-  deriving (Eq, Ord, Show, Read, Data, Typeable, Generic)
+  deriving (Eq, Ord, Show, Read, Generic)
 
 instance Exception CueSheetException
 
 ----------------------------------------------------------------------------
 -- Helpers
 
--- | Check if given 'Text' is a valid MCN.
+-- | Check if the given 'Text' is a valid MCN.
 
 isValidMcn :: Text -> Bool
 isValidMcn x = T.length x == 13 && T.all isDigit x
 
--- | Check if given 'Text' has valid length to be used in a CUE sheet as
--- performer, title, etc.
+-- | Check if the given 'Text' has valid length and contents to be used in a
+-- CUE sheet as performer, title, etc.
 
 isValidCueText :: Text -> Bool
 isValidCueText x = l >= 1 && l <= 80 && T.all f x
diff --git a/cue-sheet.cabal b/cue-sheet.cabal
--- a/cue-sheet.cabal
+++ b/cue-sheet.cabal
@@ -1,42 +1,11 @@
---
--- Cabal configuration for ‘cue-sheet’ package.
---
--- Copyright © 2016 Mark Karpov <markkarpov@openmailbox.org>
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
---   this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
---   notice, this list of conditions and the following disclaimer in the
---   documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
---   to endorse or promote products derived from this software without
---   specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
 name:                 cue-sheet
-version:              0.1.0
+version:              0.1.1
 cabal-version:        >= 1.10
+tested-with:          GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
 license:              BSD3
 license-file:         LICENSE.md
-author:               Mark Karpov <markkarpov@openmailbox.org>
-maintainer:           Mark Karpov <markkarpov@openmailbox.org>
+author:               Mark Karpov <markkarpov92@gmail.com>
+maintainer:           Mark Karpov <markkarpov92@gmail.com>
 homepage:             https://github.com/mrkkrp/cue-sheet
 bug-reports:          https://github.com/mrkkrp/cue-sheet/issues
 category:             Audio
@@ -63,7 +32,7 @@
                     , containers       >= 0.5.6.2 && < 0.6
                     , data-default-class
                     , exceptions       >= 0.6    && < 0.9
-                    , megaparsec       >= 5.1.1  && < 6.0
+                    , megaparsec       >= 5.3    && < 6.0
                     , mtl              >= 2.0    && < 3.0
                     , text             >= 0.2    && < 1.3
   if !impl(ghc >= 8.0)
@@ -89,7 +58,7 @@
   build-depends:      QuickCheck       >= 2.4    && < 3.0
                     , base             >= 4.8    && < 5.0
                     , bytestring       >= 0.10.8 && < 0.11
-                    , cue-sheet        >= 0.1
+                    , cue-sheet
                     , exceptions       >= 0.6    && < 0.9
                     , hspec            >= 2.0    && < 3.0
                     , hspec-megaparsec >= 0.3    && < 0.4
diff --git a/tests/Text/CueSheet/ParserSpec.hs b/tests/Text/CueSheet/ParserSpec.hs
--- a/tests/Text/CueSheet/ParserSpec.hs
+++ b/tests/Text/CueSheet/ParserSpec.hs
@@ -1,35 +1,3 @@
---
--- Parser tests for the ‘cue-sheet’ package.
---
--- Copyright © 2016 Mark Karpov <markkarpov@openmailbox.org>
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
---   this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
---   notice, this list of conditions and the following disclaimer in the
---   documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
---   to endorse or promote products derived from this software without
---   specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
 {-# LANGUAGE OverloadedStrings #-}
 
 module Text.CueSheet.ParserSpec
diff --git a/tests/Text/CueSheet/RenderSpec.hs b/tests/Text/CueSheet/RenderSpec.hs
--- a/tests/Text/CueSheet/RenderSpec.hs
+++ b/tests/Text/CueSheet/RenderSpec.hs
@@ -1,35 +1,3 @@
---
--- Render tests for the ‘cue-sheet’ package.
---
--- Copyright © 2016 Mark Karpov <markkarpov@openmailbox.org>
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
---   this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
---   notice, this list of conditions and the following disclaimer in the
---   documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
---   to endorse or promote products derived from this software without
---   specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
 {-# LANGUAGE OverloadedStrings #-}
 
 module Text.CueSheet.RenderSpec
diff --git a/tests/Text/CueSheet/TypesSpec.hs b/tests/Text/CueSheet/TypesSpec.hs
--- a/tests/Text/CueSheet/TypesSpec.hs
+++ b/tests/Text/CueSheet/TypesSpec.hs
@@ -1,35 +1,3 @@
---
--- Test for ‘Text.CueSheet.Types’.
---
--- Copyright © 2016 Mark Karpov <markkarpov@openmailbox.org>
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
---   this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
---   notice, this list of conditions and the following disclaimer in the
---   documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
---   to endorse or promote products derived from this software without
---   specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
 {-# LANGUAGE OverloadedStrings #-}
 
 module Text.CueSheet.TypesSpec
