firstLower method
Implementation
T firstLower(T i, {bool clamp = true}) {
List<T> list = List<T>.from(this)..add(i);
list.sort();
final index = list.indexOf(i);
if (i == list.first) {
if (clamp) {
return list[index + 1];
} else {
return i;
}
} else {
return list[index - 1];
}
}