/* eslint-disable @typescript-eslint/ban-types */ export const extend = (a: T, ext: X) => { Object.assign(a, ext) return a as T & X } export const extendM = (a: T, ext: (a: T) => X) => { Object.assign(a, ext(a)) return a as typeof a & X }