     ┌──────────┐           ┌───────────────────────┐          ┌──────────┐           ┌────────────────────────────┐
     │Qml Engine│           │        C++ Proxy      │          │Rust Proxy│           │           Backend          │
     │          │           │ <<QAbstractItemModel>>│          │          │           │<<QAbstractItemModel trait>>│
     └─────┬────┘           └───────────┬───────────┘          └─────┬────┘           └──────────────┬─────────────┘
           │        rowCount()          │                            │                               │
           │───────────────────────────>│                            │                               │
           │                            │                            │                               │
           │                            │        row_count()         │                               │
           │                            │───────────────────────────>│                               │
           │                            │                            │                               │
           │                            │                            │                               │
           │                            │            ╔═══════════════╪══╤════════════════════════════╪════════════════════════╗
           │                            │            ║ BORROWING SCOPE  │                            │                        ║
           │                            │            ╟──────────────────┘    Rc::try_borrow()        │                        ║
           │                            │            ║               │──────────────────────────────>│                        ║
           │                            │            ║               │                               │                        ║
           │                            │            ║               │           &Backend            │                        ║
           │                            │            ║               │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │                        ║
           │                            │            ║               │                               │                        ║
           │                            │            ║               │         row_count()           │                        ║
           │                            │            ║               │──────────────────────────────>│                        ║
           │                            │            ║               │                               │                        ║
           │                            │            ║               │       return row count        │                        ║
           │                            │            ║               │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │                        ║
           │                            │            ╚═══════════════╪═══════════════════════════════╪════════════════════════╝
           │                            │                            │                               │
           │                            │     return row count       │                               │
           │                            │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│                               │
           │                            │                            │                               │
           │     return row count       │                            │                               │
           │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│                            │                               │
     ┌─────┴────┐           ┌───────────┴───────────┐          ┌─────┴────┐           ┌──────────────┴─────────────┐
     │Qml Engine│           │        C++ Proxy      │          │Rust Proxy│           │           Backend          │
     │          │           │ <<QAbstractItemModel>>│          │          │           │<<QAbstractItemModel trait>>│
     └──────────┘           └───────────────────────┘          └──────────┘           └────────────────────────────┘
