     add =
       [ \p -> do
         {#set grpc_op->op#} p (fromIntegral (fromEnum OpRecvMessage))
-        {#set grpc_op->data.recv_message#} p bbptr
+        {#set grpc_op->data.recv_message.recv_message#} p bbptr
       ]
     finish = do
       bb <- C.peek bbptr

    add =
      [ \p -> do
        {#set grpc_op->op#} p (fromIntegral (fromEnum OpSendMessage))
        {#set grpc_op->data.send_message#} p bb
      ]
    finish =
      byteBufferDestroy bb

    add =
      [ \p -> do
        {#set grpc_op->op#} p (fromIntegral (fromEnum OpRecvInitialMetadata))
        {#set grpc_op->data.recv_initial_metadata.recv_initial_metadata#} p arr
      ]
    finish = do
      mds <- readMetadataArray arr
