graph BT raw_handle[zx_handle_t] owned_handle[zx::Handle] owned_channel[zx::Channel] client_end[fidl::endpoints::ClientEnd<TicTacToeMarker>] sync_proxy[TicTacToeSynchronousProxy] raw_handle-- zx::Handle::from_raw() -->owned_handle owned_handle-- .into_raw() -->raw_handle owned_handle-- zx::Channel::from() -->owned_channel owned_channel-- zx::Handle::from() -->owned_handle owned_channel-- ClientEnd::from() -->client_end client_end-- .into_channel() -->owned_channel client_end-- .into_sync_proxy() -->sync_proxy sync_proxy-- ".into_channel()" -->owned_channel owned_channel-- SynchronousProxy::from_channel() -->sync_proxy