The Instantiate function will instantiate interior references embedded within a type. This function accepts a context object as the first argument which is used to source referenced types.
The following instantiates embedded Ref types.
const X = Type.Literal(1)
const Y = Type.Literal(2)
const Z = Type.Literal(3)
const T = Type.Object({
x: Type.Ref('X'),
y: Type.Ref('Y'),
z: Type.Ref('Z'),
})
const S = Type.Instantiate({ X, Y, Z }, T) // const S: TObject<{
// x: TLiteral<1>,
// y: TLiteral<2>,
// z: TLiteral<3>
// }>