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 implement `iter()` from within `BoxedListOps<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 of `list::has(list, 1u)`)