# Opaque result types

**URL:** <https://forums.swift.org/t/opaque-result-types/15645>\
**Category:** Pitches\
**Created:** [August 29, 2018, 9:49pm UTC](https://forums.swift.org/t/opaque-result-types/15645 "2018-08-29T21:49:17Z")\
**Posts on this page:** 1\
**Showing post:** 178

<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:** [September 7, 2018, 6:23pm UTC](https://forums.swift.org/t/opaque-result-types/15645/178 "2018-09-07T18:23:43Z")

</div>

> [@Douglas\_Gregor](#):
>
> Because of this, I've mostly lost interest in `newtype` . Maybe Swift should get some kind of forwarding syntax to make it easy to write something like `Meters` as a wrapper type for `Int` , with opt-in synthesis for all of the members where it _does_ work. That would be a nice way to eliminate some boilerplate from the system without introducing a new concept.

This makes sense. It is the direction I was exploring in this draft: [[Proposal Draft] automatic protocol forwarding](https://forums.swift.org/t/proposal-draft-automatic-protocol-forwarding/817). I had a second draft in progress but abandoned it when it became clear it wasn't going to be in scope in the near-term. I had suggested a future direction of `newtype` as syntactic sugar for the underlying forwarding mechanism. Obviously this direction is orthogonal to opaque type aliases despite the superficial similarity.

---

_[View the full topic](https://forums.swift.org/t/opaque-result-types/15645)._
