static <A extends Number> Average multiSetAverage(MultiSet<A> ms) {
  new Average a;
  for (key : keys(ms))
    a.add(toDouble(key), ms.get(key));
  ret a;
}