Expression bindings are synchronous. They must return a value when executed. The tag()
expression function stalls when first called, waiting for a reply to its subscription request. If you scatter tag()
expression functions through a bunch of bindings in a commonly-used view, you will have stalls on those views that are the sum of all the stalls in the bindings.
Tag bindings don't stall. They simply don't produce any property assignment at all until the subscription answers, and only produce future assignments when the subscription delivers changes.