The newest version of Data.Aeson changed the way that ToJSON and FromJSON work for simple types like:

```
data Permission = Read | Write

```

It used to be that the generic call:

```
instance ToJSON Permission where 

```

...Would create JSON that looked like {"Read":[]} or {"Write":[]}.

But now it creates:
`{tag:"Read",contents:"[]"}` 

Which makes sense but breaks code I have written. I wrote a toJSON part by hand to give the correct looking stuff but writing the fromJSON is confusing me. 

Any ideas?

Thanks