Why does run algorithm use a conditional to check if worklet global scope's module map is not empty, but selectURL (actually its helper algorithm "get the select-url result index") simply asserts it's not empty? Should we be consistent, or is there a reason we do it differently?