`target_set` in docs/output refers to at least two different types
The following BXL produces a baffling error:
targets = ctx.target_universe("//...").target_set()
sub_targets = ctx.unconfigured_sub_targets(targets)
Expected type
`ProvidersLabel
| TargetLabel
| bxl.UnconfiguredTargetNode
| str
| target_set
| list[
ProvidersLabel
| TargetLabel
| bxl.UnconfiguredTargetNode
| str
]`
but got
`target_set`
(Linebreaks inserted for readability.)
Here, the type target_set cannot be assigned to target_set.
This can also be seen in (e.g.) the documentation for bxl.Context.build, which lists target_set | target_set among other valid types for the labels argument.
With some clicking, you can find out that these are ConfiguredTargetSet and UnconfiguredTargetSet, but this is impossible to determine from the CLI output.
ctx.unconfigured_sub_targets need the UnconfiguredTargetSet but ctx.target_universe("//...").target_set() returns ConfiguredTargetSet. That's the reason it shows the error.
Currently, there is some limitation of our Starlark type representation, so it shows these two as target_set