diff --git a/Data/Object/Yaml.hs b/Data/Object/Yaml.hs
--- a/Data/Object/Yaml.hs
+++ b/Data/Object/Yaml.hs
@@ -99,6 +99,14 @@
         putStrLn $ "Michael is " ++ age ++ " years old."
 @
 
+lookupScalar and friends implement Maybe, so you can test for optional 
+attributes by switching on Nothing/Just a:
+
+@
+    name <- lookupScalar "middleName" michael :: Maybe String
+@
+
+
 /And that's it/
 
 There's really not more to know about this library. Enjoy!
@@ -144,6 +152,7 @@
 import Data.Enumerator (($$))
 import Prelude hiding (catch)
 import Control.Exception (throwIO, Exception)
+import Data.String (IsString (fromString))
 
 -- | Equality depends on 'value' and 'tag', not 'style'.
 data YamlScalar = YamlScalar
@@ -154,6 +163,8 @@
     deriving (Show, Read, Data, Typeable)
 instance Eq YamlScalar where
     (YamlScalar v t _) == (YamlScalar v' t' _) = v == v' && t == t'
+instance IsString YamlScalar where
+    fromString = toYamlScalar
 
 type YamlObject = Object YamlScalar YamlScalar
 
diff --git a/data-object-yaml.cabal b/data-object-yaml.cabal
--- a/data-object-yaml.cabal
+++ b/data-object-yaml.cabal
@@ -1,5 +1,5 @@
 name:            data-object-yaml
-version:         0.3.3.4
+version:         0.3.3.5
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>
