import { IAnyModelType, IModelType } from "mobx-state-tree"; type Without = Pick>; type WithRefsModelType = T extends IModelType< infer P, infer O, infer C, infer S > ? IModelType, O & OTHERS, C, S> : never; export function withTypedRefs() { return function (model: T) { return model as unknown as WithRefsModelType; }; }