A selection is a set of addresses. Users typically construct selections and pass them to Gen inference library methods.
There are various concrete types for selections, each of which is a subtype of
AddressSet. One such concrete type is
DynamicAddressSet, which users can populate using
sel = DynamicAddressSet() push!(sel, :x) push!(sel, "foo") push!(sel, :y => 1 => :z)
There is also the following syntactic sugar:
sel = select(:x, "foo", :y => 1 => :z)