Permalink
Browse files

Update design docs

  • Loading branch information...
asakaev authored and travisbrown committed Apr 19, 2018
1 parent b30af17 commit c23f22547b4a65040384bdfdb4b475454700a038
Showing with 3 additions and 3 deletions.
  1. +3 −3 DESIGN.md
@@ -118,9 +118,9 @@ lots of more-or-less well-considered personal preferences that are subject to ch
enough I would be willing to consider compromise here).
10. **Avoid variance, but without burdening users.**
This isn't a popular decision (even Argonaut's codec type classes are [co- and contravariant
now](argonaut-variance)), but I'm not convinced it's worth it, especially given the way that
generic derivation works for ADTs (i.e. `Decoder[Base]` and `Decoder[Leaf]` behave differently).
This isn't a popular decision (even Argonaut's codec type classes were [co- and contravariant][argonaut-variance]
until 6.1), but I'm not convinced it's worth it, especially given the way that generic derivation
works for ADTs (i.e. `Decoder[Base]` and `Decoder[Leaf]` behave differently).
What this means concretely: You may occasionally need to upcast to get the right encoder to
kick in.

0 comments on commit c23f225

Please sign in to comment.