Now uses Map.getOrElseUpdate.