t <var>M</var> be the <emu-val>this</emu-val> value.</li><li>Perform ?&nbsp;RequireInternalSlot(<var>M</var>, <var class="field">[[MapData]]</var>).</li><li>If IsCallable(<var>predicate</var>) is **false*<emu-val>, throw a *TypeError</emu-val> exception.</li><li>Let <var>entries</var> be the List that is <var>map</var>.<var class="field">[[MapData]]</var>.</li><li>For each Record { <var class="field">[[Key]]</var>, <var class="field">[[Value]]</var>&nbsp;} <var>e</var> of <var>M</var>.<var class="field">[[M