Input impl trait

An impl Trait that can be instantiated multiple times with different values, similar to a generic parameter. See Appendix B for more details.