static <A> A lookupByNLMatch(Map<S, A> map, S s) {
  ret lookupByNLMatch(map, s, null);
}

static <A> A lookupByNLMatch(Map<S, A> map, S s, Matches m) {
  for (S key : keys(map))
    if (match(key, s, m))
      ret map.get(key);
  null;
}

ifclass MultiMap
static <A> L<A> lookupByNLMatch(MultiMap<S, A> map, S s) {
  for (S key : keys(map))
    if (match(key, s))
      ret map.get(key);
  ret emptyList();
}
endif