TLShapePartial
type TLShapePartial<T extends TLShape = TLShape> = T extends T
? {
id: TLShapeId
meta?: Partial<T['meta']>
props?: Partial<T['props']>
type: T['type']
} & Partial<Omit<T, 'id' | 'meta' | 'props' | 'type'>>
: never