num aveBy<T>(Iterable<T> list, num Function(T) call) { if (list.isEmpty) { return 0; } return sumBy<T>(list, call) / list.length; }