target.options.foo
target.foo
with an eye on merging `TargetOptions` into `Target`. `TargetOptions` as a separate structure is mostly an implementation detail of `Target` construction, all its fields logically belong to `Target` and available from `Target` through `Deref` impls.
TargetResult
Construction of a built-in target is always infallible now, so `TargetResult` is no longer necessary.