recvMsg::EthCryptM ContextM Message
recvMsg = do
  frameData <- getAndDecryptFrame

  let packetType = fromInteger $ rlpDecode $ rlpDeserialize $ B.take 1 frameData
      packetData = rlpDeserialize $ B.drop 1 frameData

  return $ obj2WireMessage packetType packetData
recvMsg::EthCryptM ContextM Message
recvMsg = do
  frameData <- getAndDecryptFrame

  let packetType = fromInteger $ rlpDecode $ rlpDeserialize $ B.take 1 frameData
      packetData = rlpDeserialize $ B.drop 1 frameData

  return $ obj2WireMessage packetType packetData
recvMsg = do
  frameData <- getAndDecryptFrame

  let packetType = fromInteger $ rlpDecode $ rlpDeserialize $ B.take 1 frameData
      packetData = rlpDeserialize $ B.drop 1 frameData

  return $ obj2WireMessage packetType packetData