y, cb, thunk</span>) {
    <span class="hljs-title function_">assert</span>(<span class="hljs-title function_">isObject</span>(<span class="hljs-variable language_">this</span>), <span class="hljs-string">'this is not an object'</span>);
    <span class="hljs-title function_">assert</span>(<span class="hljs-title function_">isCallable</span>(callbackFn), <span class="hljs-string">'callback is not a function'</span>);
    <span class="hljs-title function_">asset</span>(<span class="hljs-title function_">isMa