Add Zero and One to Data.Functor (mirroring V1, U1)

Bryan Richter b at
Thu Jan 26 17:23:35 UTC 2017

On Thu, Jan 26, 2017 at 08:43:05AM -0800, Eric Seidel wrote:
> I see the argument against One (duplicating types), but from a user’s
> perspective I imagine it would be quite annoying to import Zero from
> Data.Functor, but then be forced to 
> 1. remember that Proxy is isomorphic to One
> 2. import Proxy from elsewhere
> We could add a type alias One = Proxy, and maybe even a pattern synonym for
> the constructor, to alleviate the UX issue. But that might bring issues of its
> own.
> I’m neutral on the actual proposal though, as I don’t consider myself a
> potential user.

I second all of Eric's points.

From a user's perspective, isomorphism does not equate to duplication when
considering other factors such as home module, intended use, discoverability,
connotation, ....

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Digital signature
URL: <>

More information about the Libraries mailing list