partition method
Partitions the iterable into someParts and noneParts in a single pass.
Implementation
OptionPartition<T> partition() {
final someParts = <Some<T>>[];
final noneParts = <None<T>>[];
for (final option in this) {
switch (option) {
case Some():
someParts.add(option);
case None():
noneParts.add(option);
}
}
return (someParts: someParts, noneParts: noneParts);
}