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
TLShapeIdTLStore