Recursively freezes an object and all its nested properties.
Type of the object to freeze
The object to freeze
Internal parameter to track circular references
A deeply frozen version of the input object.
Recursively freezes an object and all its nested properties.