# Designing protocols operating over pairs of types

**URL:** <https://forums.swift.org/t/designing-protocols-operating-over-pairs-of-types/26948>\
**Category:** Discussion\
**Tags:** protocols\
**Created:** [July 14, 2019, 1:25pm UTC](https://forums.swift.org/t/designing-protocols-operating-over-pairs-of-types/26948 "2019-07-14T13:25:59Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![anandabits](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/anandabits/32/355_2.png) [@anandabits](https://forums.swift.org/u/anandabits)\
**Post date:** [July 14, 2019, 1:42pm UTC](https://forums.swift.org/t/designing-protocols-operating-over-pairs-of-types/26948/2 "2019-07-14T13:42:43Z")

</div>

What you’re looking for is something similar to multi-parameter type classes in Haskell. This has come up occasionally in the past. I believe the most recent discussion happened here: [Improving the UI of generics - #53 by Joe\_Groff](https://forums.swift.org/t/improving-the-ui-of-generics/22814/53).

---

_[View the full topic](https://forums.swift.org/t/designing-protocols-operating-over-pairs-of-types/26948)._
