readUserStatus :: (Int -> IO [Word8]) -> IO Word16 -> Inbound.Header -> IO Inbound.InboundMessage
readUserStatus readBytes readShort header =
  do
    let trailingBytes = (Inbound.messageSize header) - 2
    userFlags <- readShort
    _ <- readBytes trailingBytes
    return . Inbound.UserStatusMessage $ Inbound.UserStatusNotification userFlags
readUserStatus :: (Int -> IO [Word8]) -> IO Word16 -> Inbound.Header -> IO Inbound.InboundMessage
readUserStatus readBytes readShort header =
  do
    let trailingBytes = (Inbound.messageSize header) - 2
    userFlags <- readShort
    _ <- readBytes trailingBytes
    return . Inbound.UserStatusMessage $ Inbound.UserStatusNotification userFlags
readUserStatus readBytes readShort header =
  do
    let trailingBytes = (Inbound.messageSize header) - 2
    userFlags <- readShort
    _ <- readBytes trailingBytes
    return . Inbound.UserStatusMessage $ Inbound.UserStatusNotification userFlags