The type to be made recursively partial.
Mutable arrays recurse into their elements; mutable tuples widen to arrays. Array unions keep separate branches. Readonly arrays and tuples use optional mapped-type semantics.
Dates, regular expressions, mutable and readonly maps and sets, and callable types remain unchanged. Other objects are treated structurally: custom-class data properties become optional, and methods remain callable when present. TypeScript cannot distinguish class instances from matching plain records.
Recursively makes all properties of type
Toptional.Distributes over unions, retaining primitive and nullish members while making nested object properties optional. Useful for patches and configuration overrides.