diff --git a/binary-file.cabal b/binary-file.cabal
--- a/binary-file.cabal
+++ b/binary-file.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		binary-file
-version:	0.15.13
+version:	0.15.16
 stability:	experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -90,7 +90,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/binary-file.git
-    tag:	0.15.13
+    tag:	0.15.16
 
 library
     hs-source-dirs:	src
diff --git a/src/File/Binary/Classes.hs b/src/File/Binary/Classes.hs
--- a/src/File/Binary/Classes.hs
+++ b/src/File/Binary/Classes.hs
@@ -2,7 +2,7 @@
 
 module File.Binary.Classes (Field(..), Binary(..), pop, push) where
 
-import Data.ByteString.Lazy (ByteString, unpack, singleton, cons)
+import Data.ByteString.Lazy (ByteString, unpack, singleton, cons')
 import qualified Data.ByteString.Lazy.Char8 as BSLC ()
 import Data.Bits ((.&.), (.|.), shiftL, shiftR)
 import Data.Monoid (Monoid, mappend, mempty)
@@ -54,11 +54,11 @@
 	getBytes n b = let
 		(h, t) = unconsByte b
 		(r, b') = getBytes (n - 1) t in
-		(h `cons` r, b')
+		(h `cons'` r, b')
 
 	spanBytes p b
 		| b == makeBinary "" = ("", b)
-		| p h = let (ret, rest) = spanBytes p t in (h `cons` ret, rest)
+		| p h = let (ret, rest) = spanBytes p t in (h `cons'` ret, rest)
 		| otherwise = ("", b)
 		where
 		(h, t) = unconsByte b
diff --git a/src/File/Binary/Parse.hs b/src/File/Binary/Parse.hs
--- a/src/File/Binary/Parse.hs
+++ b/src/File/Binary/Parse.hs
@@ -104,7 +104,7 @@
 	/ var				{ identify $1 <$> ask }
 
 op :: Expression
-	= [!\\#$%&*+./<=>?@^|~-:]+	{ return $ varE $ mkName $1 }
+	= [!\\#$%&*+./<=>?@^|~\-]+	{ return $ varE $ mkName $1 }
 	/ '`' var '`'			{ return $ varE $ mkName $1 }
 
 typ :: TypeQ
