const t="array",n="function",r="object",{isArray:o}=Array,e=t=>t(),u=(t,n)=>n,c=t=>a.bind(t),y=t=>typeof t===n?e(t):t;function a(){return this}const f=(r,o)=>r===t?[o]:r===n?c(o):{t:r,v:o},i=(c,y=u)=>{let a=typeof c,f=c;return a===n?f=e(c):a===r&&(o(c)?(a=t,f=c.at(0)):({t:a,v:f}=c)),y(a,f)},l=(n,e=f)=>{const u=null===n?"null":typeof n;return e(u===r&&o(n)?t:u,n)};export{c as bound,f as target,y as unbound,i as unwrap,l as wrap};
