As discussed in PR #12160, we need an iterator-based approach for collections::list helper functions.
This task includes:
- Add a public type for @List<T>(i.e.BoxedList<T>)
- Create a trait for handling BoxedList<T>operations (i.e.BoxedListOps<T>)
- Create a BoxedListIterator<T>and implementiter()from withinBoxedListOps<T>
- Refactory current helper functions (i.e. any(),has()...) to an iterator-based approach
- Move helper functions to BoxedListOps<T>so they can become methods w/ 'self' (i.e.list.has(1u)instead oflist::has(list, 1u))