iscrete_type :: Parser ByteString
discrete_type = fmap sToLower
              $ stringCI "text"
            <|> stringCI "image"
            <|> stringCI "audio"
            <|> stringCI "video"
            <|> stringCI "application"
            <|> extension_token

discrete_type :: Parser ByteString
discrete_type = fmap sToLower
              $ stringCI "text"
            <|> stringCI "image"
            <|> stringCI "audio"
            <|> stringCI "video"
            <|> stringCI "application"
            <|> extension_token
discrete_type = fmap sToLower
              $ stringCI "text"
            <|> stringCI "image"
            <|> stringCI "audio"
            <|> stringCI "video"
            <|> stringCI "application"
            <|> extension_token