-- Will be executed where `foo` was executed
-- To call bar, we need to leave the peer where we were and get to another_peer
-- It's done automagically
-- This is executed on third_peer
-- But we denote that to get to third_peer and to leave third_peer
-- an additional hop is needed: get to relay, then to peer
-- Will be executed in the `foo` call site again
-- To get from the previous `bar`, compiler will add a hop to relay