package test:comp;
/// Instantiate without args
let a = new foo:bar {};
/// Instantiation with import-propagation.
let b = new foo:bar@1.0.0 { ... };
/// Instantiation with arguments
let c = new foo:bar@2.0.0 { a, b, "c": c, };
/// Instantiation with arguments and import-propagation.
let d = new foo:bar@3.0.0 { a, "b": (new foo:bar { }), c: c, ... };
/// Nested expression
let e = (b);
/// Access expression
let f = e["b-c"].c.d["foo:bar/baz"].e;
/// Mix of instantiation arguments
let h = new f:bar { inferred, ...a, b: c, ...d, ... };