A thread starting CArena like:
CArena arena = CArena_new(...);
arena->send(...)
arena->receive(...)
CArena_Destroy(&arena)
there is no guarantee that the actual send-thread in the arena has begun running yet. Thus if it decides to do so after CArena_Destroy it will crash the program :(