sbool domainIsUnder_extended(S domain, S mainDomain) { new Matches m; if (startsWith(mainDomain, "@.", m)) ret eqic(domain, m.rest()); if (startsWith(mainDomain, "*")) ret ewic(domain, substring(mainDomain, 1)); ret domainIsUnder(domain, mainDomain); }