Per Ideation discussion, renames SpecializeOutput to Cast.
This function is a type-safe generic way to convert
any Output type (legacy or typed) to any other Output type
holding the same ElementType.
This DOES NOT change the type of the contained element in any way.
Per discussion in Ideation today,
rename the Cast and MustCast functions
to ConvertTyped and MustConvertTyped.
This is intended to make room for
renaming SpecializeOutput to Cast
which we expect users to use more often.
**Each commit is separately reviewable.**
---
Adds the pulumix subpackage implementing strongly-typed
inputs, outputs, and combinators.
internal/cmd/gen-pux-applyn generates all four variants of `Apply` for
up to 8 parameters.
See individual commits for more details on each change.
Resolves#13586