switch(mult) {
case NO : ret = child.none(); break;
case SOME : ret = child.some(); break;
case ONE : ret = child.one(); break;
case LONE : ret = child.lone(); break;
default :
throw new IllegalArgumentException("Unknown multiplicity: " + mult);
}
return cache(multFormula, ret);