Clone profundo no TypeScript (preservando tipos)

Preciso clonar profundamente um objeto no TypeScript. Isso não deve ser um problema, pois bibliotecas como o Lodash fornecem funções apropriadas para isso. No entanto, eles parecem descartar informações de tipo.

> var a = new SomeClass();
> a instanceof SomeClass;
< true
> var b = _.cloneDeep(a);
> b instanceof SomeClass;
< false

Existe uma maneira de clonar objetos no TypeScript, preservando essas informações de digitação?

questionAnswers(4)

yourAnswerToTheQuestion