once wrapper
function once(f) { let done = false return function() { if (done) return done = true return f.apply(this, arguments) } }