Pluralize trait exists to offer a single generic trait which can yield an iterator from any
reference. This allows generic code to be implemented where the plurality of the generic type is
flexible. This is accomplished by casting the reference of any single primitive into a single
element array of the same type and calling the appropriate
In simplest terms if you specify that a generic type has the bounds
Pluralize< T > then that
type could be a plain old
T or a
Vec<T>. In order to make use of this simply call the
.puralize( ) method and iterate in a for loop.
Currently implementation of Pluralize over
Option<T> is locked behind a feature: Options.
Currently implementation of the Remover Iterator is locked behind a feature: Remover.
Both of these features are locked because they represent very janky code which could be broken by anything which effects memory layout.
A trait implemented across both collections and single primitives which exposes an iterator
A trait enabling further mutations to Pluralize<> objects through two Controller-Iterator objects