A nifty "skill tree" approach to mapping out the requirements in Rust's trait solver: https://rust-lang.github.io/wg-traits/roadmap/skill-tree.html (From https://blog.rust-lang.org/inside-rust/2020/03/28/traits-sprint-1.html)