diff --git a/parsers.cabal b/parsers.cabal
--- a/parsers.cabal
+++ b/parsers.cabal
@@ -1,6 +1,6 @@
 name:          parsers
 category:      Text, Parsing
-version:       0.6
+version:       0.7
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
diff --git a/src/Text/Parser/Token.hs b/src/Text/Parser/Token.hs
--- a/src/Text/Parser/Token.hs
+++ b/src/Text/Parser/Token.hs
@@ -13,9 +13,9 @@
 --
 -- Parsers that comprehend whitespace and identifier styles
 --
--- > idStyle    = haskellIdentifierStyle { styleReserved = ... }
--- > identifier = ident haskellIdentifierStyle
--- > reserved   = reserve haskellIdentifierStyle
+-- > idStyle    = haskellIdents { styleReserved = ... }
+-- > identifier = ident idStyle
+-- > reserved   = reserve idStyle
 --
 -----------------------------------------------------------------------------
 module Text.Parser.Token
@@ -47,6 +47,7 @@
   , TokenParsing(..)
   -- ** Token Parsing Transformers
   , Unspaced(..)
+  , Unlined(..)
   , Unhighlighted(..)
   -- ** /Non-Token/ Parsers
   , decimal       -- :: TokenParsing m => m Integer
@@ -653,12 +654,12 @@
   lift = Unhighlighted
   {-# INLINE lift #-}
 
-instance (TokenParsing m, MonadPlus m) => TokenParsing (Unhighlighted m) where
+instance TokenParsing m => TokenParsing (Unhighlighted m) where
   nesting (Unhighlighted m) = Unhighlighted (nesting m)
   {-# INLINE nesting #-}
-  someSpace = lift someSpace
+  someSpace = Unhighlighted someSpace
   {-# INLINE someSpace #-}
-  semi      = lift semi
+  semi      = Unhighlighted semi
   {-# INLINE semi #-}
   highlight _ m = m
   {-# INLINE highlight #-}
@@ -672,12 +673,27 @@
   lift = Unspaced
   {-# INLINE lift #-}
 
-instance (TokenParsing m, MonadPlus m) => TokenParsing (Unspaced m) where
+instance TokenParsing m => TokenParsing (Unspaced m) where
   nesting (Unspaced m) = Unspaced (nesting m)
   {-# INLINE nesting #-}
   someSpace = empty
   {-# INLINE someSpace #-}
-  semi      = lift semi
+  semi      = Unspaced semi
   {-# INLINE semi #-}
   highlight h (Unspaced m) = Unspaced (highlight h m)
+  {-# INLINE highlight #-}
+
+-- | This is a parser transformer you can use to disable the automatic trailing
+-- newline (but not whitespace-in-general) consumption of a Token parser.
+newtype Unlined m a = Unlined { runUnlined :: m a }
+  deriving (Functor,Applicative,Alternative,Monad,MonadPlus,Parsing,CharParsing)
+
+instance TokenParsing m => TokenParsing (Unlined m) where
+  nesting (Unlined m) = Unlined (nesting m)
+  {-# INLINE nesting #-}
+  someSpace = skipMany (satisfy $ \c -> c /= '\n' && isSpace c)
+  {-# INLINE someSpace #-}
+  semi      = Unlined semi
+  {-# INLINE semi #-}
+  highlight h (Unlined m) = Unlined (highlight h m)
   {-# INLINE highlight #-}
