docs: public Object chooseValue(String vcf) throws IllegalValueChoiceFunction {
  		if (!valueChoiceFunctions.containsKey(this.getClass())) throw new Error ("No value choice function defined for domains fo type " + this.getClass().getSimpleName());
  		HashMap<String,ValueChoiceFunction> vcfs = valueChoiceFunctions.get(this.getClass());
  		if (vcfs == null) throw new Error ("No value choice function defined for domains of type " + this.getClass().getSimpleName()); 
  		ValueChoiceFunction vcfunc = vcfs.get(vcf);
  		if (vcfunc == null) throw new IllegalValueChoiceFunction(vcf, this.getClass().getSimpleName());
  		return vcfunc.getValue(this);
  	}