- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 419
Description
An overlapping instance related compilation error brought up by @Taneb on IRC made me wonder about
instance {-# OVERLAPPING #-} MimeRender JSON a => MimeRender JSON (WithStatus _status a) where
  mimeRender contentTypeProxy (WithStatus a) = mimeRender contentTypeProxy aIt just seems giving FromJSON/ToJSON instances to WithStatus would be the better move here, just delegating the JSON encoding/decoding to the wrapped a, since the status is irrelevant as far as JSON encoding is concerned. Some discussion could be held for the other content types where we don't have a "standard encoding/decoding rule", so to speak.
The instance above is at least better than that of a previous servant release where we had the too-general instance MimeRender ctype a => instance MimeRender ctype (WithStatus _status a), which ended up biting @Taneb. But it still feels like the instance mentioned at the beginning could better be done by specifying ToJSON/FromJSON for WithStatus instead, which would allow us to avoid an overlapping instance, which often is an occasion to trigger compilation errors waiting to happen.