updateStatus :: Token
             -> Maybe Integer -- ^ status id to reply
             -> String        -- ^ status message
             -> IO (Result Status)
updateStatus tok mRepId msg = do
    json <- callAPI POST tok "statuses/update" $ catMaybes [Just ("status", msg)
                                                           , ("in_reply_to_status_id", ) . show <$> mRepId]
    return $ json >>= decodeStatus


-- | follow screen_name
updateStatus :: Token
             -> Maybe Integer -- ^ status id to reply
             -> String        -- ^ status message
             -> IO (Result Status)
updateStatus tok mRepId msg = do
    json <- callAPI POST tok "statuses/update" $ catMaybes [Just ("status", msg)
                                                           , ("in_reply_to_status_id", ) . show <$> mRepId]
    return $ json >>= decodeStatus


-- | follow screen_name
updateStatus tok mRepId msg = do
    json <- callAPI POST tok "statuses/update" $ catMaybes [Just ("status", msg)
                                                           , ("in_reply_to_status_id", ) . show <$> mRepId]
    return $ json >>= decodeStatus


-- | follow screen_name