readBool :: ReadValue Bool
readBool t = do v <- case scanTokens "" a of
                       Right [L _ TRUE]  -> Just True
                       Right [L _ FALSE] -> Just False
                       _                 -> Nothing
                return (v, dropSpaces b)
  where (a,b) = BS.span constituent t
readBool :: ReadValue Bool
readBool t = do v <- case scanTokens "" a of
                       Right [L _ TRUE]  -> Just True
                       Right [L _ FALSE] -> Just False
                       _                 -> Nothing
                return (v, dropSpaces b)
  where (a,b) = BS.span constituent t
readBool t = do v <- case scanTokens "" a of
                       Right [L _ TRUE]  -> Just True
                       Right [L _ FALSE] -> Just False
                       _                 -> Nothing
                return (v, dropSpaces b)
  where (a,b) = BS.span constituent t