test("generic input/output types keep runtime values",["basic"],({mapValues})=>{checkEq(mapValues([2,3],(n,i)=>`${i}:${n*2}`),["0:4","1:6"]);checkEq(mapValues(["a","b"],x=>x.length),[1,1]);});
test("once in order and no mutation",["invariant"],({mapValues})=>{const input=Object.freeze([3,4]);const calls=[];checkEq(mapValues(input,(n,i)=>{calls.push([n,i]);return n;}),[3,4]);checkEq(calls,[[3,0],[4,1]]);});
test("empty and undefined payloads",["boundary"],({mapValues})=>{checkEq(mapValues([],()=>{throw Error("not called");}),[]);checkEq(mapValues([undefined,0],x=>x===undefined),[true,false]);});
