decodeStatus :: JSValue -> Result Status
decodeStatus v@(JSObject obj) = do
    st <- decodeStatus' v
    case decodeEntities =<< valFromObj "entities" obj of
        Ok Entities { enUrls = ues } -> return st { stText = expandUrls ues $ stText st }
        _ -> return st
decodeStatus :: JSValue -> Result Status
decodeStatus v@(JSObject obj) = do
    st <- decodeStatus' v
    case decodeEntities =<< valFromObj "entities" obj of
        Ok Entities { enUrls = ues } -> return st { stText = expandUrls ues $ stText st }
        _ -> return st
decodeStatus v@(JSObject obj) = do
    st <- decodeStatus' v
    case decodeEntities =<< valFromObj "entities" obj of
        Ok Entities { enUrls = ues } -> return st { stText = expandUrls ues $ stText st }
        _ -> return st