double variance(List<num> a, [double defaultValue = 0]) { if (a.isEmpty) { return defaultValue; } double m = mean(a); return a.map((e) => (e - m) * (e - m)).average; }