anchor.diff:    });
   }
   
  -SequenceElementsDistributionCalculator createDistributionCalculator<T>(
  -    Iterable<T> values, HashMap<T, double> distribution) {
  +SequenceElementsDistributionCalculator createDistributionCalculator(
  +    Iterable<num> values, HashMap<double, double> distribution) {
     final distributionCalculator = DistributionCalculatorMock();
   
  -  when(distributionCalculator.calculate<T>(argThat(equals(values)), any))
  +  when(distributionCalculator.calculate<double>(argThat(equals(values)), any))
         .thenReturn(distribution);
   
     return distributionCalculator;
  
positive.code:       final observations = Matrix.fromList([
          [10, 20, 30, 0],
        ]);
  
        final outcomesColumnRange = ZRange.singleton(3);
  
        final firstClassLabel = 0.0;
        final firstClassProbability = 0.7;
  
negative.code:         classLabel: classProbability,
        });
  
        final distributionCalculator = createDistributionCalculator(
          observations.getColumn(3),
          distribution,
        );
        final labelFactory = MajorityLeafLabelFactory(distributionCalculator);
        final label = labelFactory.create(observations, 3, false);
  
        expect(label.numericalValue, equals(classLabel));
        expect(label.nominalValue, isNull);
  