hunk.code_window:       }
       })
     } else if (props.default) {
       each(props.default, (value, key) => {
         if (!is.und(value)) {
           defaultProps[key] = value as any
         }
       })
     }
   }
  
hunk.labels: keep keep keep keep replace keep keep keep keep keep
hunk.after_edit:       if (!is.und(value) && !omitKeys.includes(key)) {
  
hunk.file_path: packages/core/src/helpers.ts
hunk.type: replace
file: /** These types can be animated */
  export type Animatable<T = any> = T extends number
    ? number
    : T extends string
    ? string
    : T extends ReadonlyArray<number | string>
    ? Array<number | string> extends T // When true, T is not a tuple
      ? ReadonlyArray<number | string>
      : { [P in keyof T]: Animatable<T[P]> }
    : never
  
  export interface FrameRequestCallback {
    (time?: number): void
  }
  