- variant<T, E>(tag, ...members): $.Variant<T, $.InputObject<E>, $.OutputObject<E>>
 Parameters
- tag: T
 Rest...members: [...(never extends E
    ? {
        [K in string | number | symbol]: $.AnyShape extends E[K<K>]
            ? E[K<K>] & $.AnyShape
            : (UnionKeys<$.Input<E[K<K>]>> & {
                    [L in string | number | symbol]: K<K> extends L<L>
                        ? never
                        : UnionKeys<$.Input<(...)>>
                }[number]) extends O
                ? [O] extends [never]
                    ? $.Shape<$.Input<E[K<(...)>]> & {}, $.Input<E[K<(...)>]> & {}>
                    : $.Shape<{
                        [_ in string | number | symbol]?: undefined
                    }, {
                        [_ in string | number | symbol]?: undefined
                    }>
                : never
    }
    : E)[]]