Post

The pattern that makes it broadly useful: typed proxies.
Add .typed(MyProxy) mid-chain, and you get compile-time argument checking on a call to another contract.
self.tx()
.to(&counter_contract)
.typed(CounterProxy)
.get_count()
.returns(ReturnsResult)
.sync_call();
The proxy is auto-generated from the target contract's ABI. The arguments you pass and the result you receive are typed end-to-end.
English

What to use it for:
• Native transfers — self.tx().to(&user).egld(&amt).transfer()
• ESDT transfers — .single_esdt() for one token, .payment() for multi-token bundles
• Cross-contract calls — sync (same-shard), async with callback (cross-shard), or fire-and-forget transfer_execute
• Deploys, upgrades, and queries — same builder, different terminal operation
English
