/**
 * Version of TypeScript's `Partial` type that considers nested properties as optional too, recursively.
 *
 * FIXME This type undermines type safety, e.g. the compiler will not check function signatures. An eye must be kept on
 * https://github.com/Microsoft/TypeScript/issues/12424.
 *
 * TODO Consider the alternative proposed in https://github.com/Microsoft/TypeScript/issues/12424.
 */
export type DeepPartial<T> = {
    [P in keyof T]?: T[P] | DeepPartial<T[P]>
}
/**
 * Version of TypeScript's `Partial` type that considers nested properties as optional too, recursively.
 *
 * FIXME This type undermines type safety, e.g. the compiler will not check function signatures. An eye must be kept on
 * https://github.com/Microsoft/TypeScript/issues/12424.
 */
export type DeepPartial<T> = {
    [P in keyof T]?: T[P] | DeepPartial<T[P]>
}
--- 
+++ 
@@ -3,6 +3,8 @@
  *
  * FIXME This type undermines type safety, e.g. the compiler will not check function signatures. An eye must be kept on
  * https://github.com/Microsoft/TypeScript/issues/12424.
+ *
+ * TODO Consider the alternative proposed in https://github.com/Microsoft/TypeScript/issues/12424.
  */
 export type DeepPartial<T> = {
     [P in keyof T]?: T[P] | DeepPartial<T[P]>
Add link to alternative implementation
