readPrimType :: ReadValue String
readPrimType t = do
  pt <- case scanTokens "" a of
          Right [L _ (ID s)] -> Just $ F.nameToString s
          _                  -> Nothing
  return (pt, dropSpaces b)
  where (a,b) = BS.span constituent t
readPrimType :: ReadValue String
readPrimType t = do
  pt <- case scanTokens "" a of
          Right [L _ (ID s)] -> Just $ F.nameToString s
          _                  -> Nothing
  return (pt, dropSpaces b)
  where (a,b) = BS.span constituent t
readPrimType t = do
  pt <- case scanTokens "" a of
          Right [L _ (ID s)] -> Just $ F.nameToString s
          _                  -> Nothing
  return (pt, dropSpaces b)
  where (a,b) = BS.span constituent t