┌─┐ ┌─┐ │A│ │B│ └┬┘ └┬┘ foo()┌┴┐ │ ───>│ │ ────┐ │ │ │ internal() │ │ <───┘ │ │ │ │ │ │ │ │ │ │ │ bar() ┌┴┐ │ │ ──────────────>│ │ │ │ └┬┘ │ │ │ │ ┌┴<───────────────│ │ │ │ │ │ │ │ │ <───│ │ │ │ └┬└┬┘ ┌┴┐ │A│ │B│ └─┘ └─┘