diff --git a/chuchu.cabal b/chuchu.cabal
--- a/chuchu.cabal
+++ b/chuchu.cabal
@@ -1,5 +1,5 @@
 name: chuchu
-version: 0.2
+version: 0.2.1
 cabal-version: >= 1.8
 build-type: Simple
 license: OtherLicense
diff --git a/src/Test/Chuchu/Parser.hs b/src/Test/Chuchu/Parser.hs
--- a/src/Test/Chuchu/Parser.hs
+++ b/src/Test/Chuchu/Parser.hs
@@ -16,12 +16,14 @@
   , text
   , wildcard
   , email
+  , try
   ) where
 
 import Control.Applicative hiding ((<|>))
 import Control.Monad
-import Text.Parsec
+import Text.Parsec hiding (try)
 import qualified Data.Text as T
+import qualified Text.Parsec as Parsec
 
 import Test.Chuchu.Types (ChuchuParser(..))
 import Test.Chuchu.Email
@@ -54,3 +56,8 @@
 -- @alphaNum \<|> oneOf \"!#$%&\'*+-\/=?^_\`{|}~.\"@.
 email :: ChuchuParser T.Text
 email = T.pack <$> ChuchuParser addrSpecSimple
+
+
+-- | Same as Parsec's 'Parsec.try' but for 'ChuchuParser'.
+try :: ChuchuParser a -> ChuchuParser a
+try (ChuchuParser x) = ChuchuParser (Parsec.try x)
diff --git a/src/Test/Chuchu/Types.hs b/src/Test/Chuchu/Types.hs
--- a/src/Test/Chuchu/Types.hs
+++ b/src/Test/Chuchu/Types.hs
@@ -28,7 +28,7 @@
   deriving (Functor, Applicative, Alternative, Monad, MonadPlus)
 
 instance (a ~ ()) => IsString (ChuchuParser a) where
-  fromString s = ChuchuParser (string s >> return ())
+  fromString s = ChuchuParser (try (string s) >> return ())
 
 
 -- | The most common use case where the return value of the Monad is ignored.
