public Distribution<T> fuzzify(Number val) {
   Map<? extends T, ? extends Degree> m =
       ((ShapedFuzzyPartition) innerField.getCurrent()).fuzzify(val);
   return getStrategies().newDistribution(m);
 }
 public Distribution<T> getCurrent() {
   return innerField.getCurrent();
 }
 public Number defuzzify() {
   Number ans =
       subStrats.toCrispValue(
           ((ShapedFuzzyPartition) innerField.getCurrent()).asInducedPossibilityDistribution());
   return ans;
 }