attrWithDefault :: Read a => Text -> a -> Cursor -> a
attrWithDefault t d cur =
  fromMaybe d $ safeRead (toRead $ stringAttr t cur)
attrWithDefault :: Read a => Text -> a -> Cursor -> a
attrWithDefault t d cur =
  fromMaybe d $ safeRead (toRead $ stringAttr t cur)
attrWithDefault t d cur =
  fromMaybe d $ safeRead (toRead $ stringAttr t cur)