anchor.diff:      [?_assertEqual(0, square_sum([])),
        ?_assertEqual(2/3, square_sum([3, 4, 5])),
        ?_assertEqual(0.0, square_sum([3, 3, null, 3, null]))
  +    ].
  +
  +minimum_test_() ->
  +    [?_assertEqual(0, safe_minimum([23, 0])),
  +     ?_assertEqual(0, safe_minimum([23, 0, 1, null])),
  +     ?_assertEqual(-1, safe_minimum([null, 0, -1, null])),
  +     ?_assertEqual(-1, safe_minimum(pseudo_values([null, 0, -1, null]))),
  +     ?_assertEqual(null, safe_minimum([]))
       ].
   
   percentile_test_() ->
  
positive.code:                                                                  (X) -> X
                                                                end),
                        S#series{values=Values}
                end, Series);
  
  evaluate_call(Unknown, _Args, _From, _Until, _Now) ->
  
negative.code:        true -> Truncated;
         false -> Truncated + 1
      end.
  
  
  safe_minimum([]) -> null;
  safe_minimum(Values) ->
      safe_minimum(Values, 0).
  
  safe_minimum([], Min) -> Min;
  safe_minimum([{_TS, null} | Vs], Min) ->
      safe_minimum(Vs, Min);
  safe_minimum([{_TS, Value} | Vs], Min) ->
      safe_minimum(Vs, min(Min, Value));
  safe_minimum([null | Vs], Min) ->
      safe_minimum(Vs, Min);
  safe_minimum([Value | Vs], Min) ->
      safe_minimum(Vs, min(Min, Value)).
  
  
  square_sum([]) -> 0;
  