Runs lambda with this Scope as its receiver, returning whatever lambda produces. This is the idiomatic way of using a Scope: Scope.empty().with { ruleOf(...) }, or more concisely Scope.empty { ruleOf(...) } via the companion overloads.
Scope.empty().with { ruleOf(...) }
Scope.empty { ruleOf(...) }