@@ -82,22 +82,18 @@ genericParseJSON opts = fmap to . gParseJSON opts
8282-- Instead of manually writing your 'ToJSON' instance, there are three options
8383-- to do it automatically:
8484--
85−-- * "Data.Aeson.TH" provides template-haskell functions which will derive an
86−-- instance at compile-time. The generated instance is optimized for your type
85+-- * "Data.Aeson.TH" provides Template Haskell functions which will derive an
86+-- instance at compile time. The generated instance is optimized for your type
8787-- so will probably be more efficient than the following two options:
8888--
89−-- * "Data.Aeson.Generic" provides a generic @toJSON@ function that accepts any
90−-- type which is an instance of 'Data'.
89+-- * The compiler can provide default generic implementations for 'toJSON' and
90+-- 'toEncoding'.
9191--
92−-- * If your compiler has support for the @DeriveGeneric@ and
93−-- @DefaultSignatures@ language extensions (GHC 7.2 and newer),
94−-- @toJSON@ will have a default generic implementation.
92+-- To use the second, simply add a @deriving 'Generic'@ clause to your
93+-- datatype and declare a 'ToJSON' instance for your datatype without giving
94+-- definitions for 'toJSON' or 'toEncoding'.
9595--
96−-- To use the latter option, simply add a @deriving 'Generic'@ clause to your
97−-- datatype and declare a @ToJSON@ instance for your datatype without giving a
98−-- definition for @toJSON@.
99−--
100−-- For example the previous example can be simplified to just:
96+-- For example, the previous example can be simplified to just:
10197--
10298-- @{-\# LANGUAGE DeriveGeneric \#-}
10399--
@@ -154,25 +150,21 @@ class ToJSON a where
154150-- Note the use of the @OverloadedStrings@ language extension which enables
155151-- 'Text' values to be written as string literals.
156152--
157−-- Instead of manually writing your 'FromJSON' instance, there are three options
153+-- Instead of manually writing your 'FromJSON' instance, there are two options
158154-- to do it automatically:
159155--
160−-- * "Data.Aeson.TH" provides template-haskell functions which will derive an
161−-- instance at compile-time. The generated instance is optimized for your type
156+-- * "Data.Aeson.TH" provides Template Haskell functions which will derive an
157+-- instance at compile time. The generated instance is optimized for your type
162158-- so will probably be more efficient than the following two options:
163159--
164−-- * "Data.Aeson.Generic" provides a generic @fromJSON@ function that parses to
165−-- any type which is an instance of 'Data'.
166−--
167−-- * If your compiler has support for the @DeriveGeneric@ and
168−-- @DefaultSignatures@ language extensions, @parseJSON@ will have a default
169−-- generic implementation.
160+-- * The compiler can provide a default generic implementation for
161+-- 'parseJSON'.
170162--
171−-- To use this, simply add a @deriving 'Generic'@ clause to your datatype and
172−-- declare a @FromJSON@ instance for your datatype without giving a definition
173−-- for @parseJSON@.
163+-- To use the second, simply add a @deriving 'Generic'@ clause to your
164+-- datatype and declare a 'FromJSON' instance for your datatype without giving
165+-- a definition for 'parseJSON'.
174166--
175−-- For example the previous example can be simplified to just:
167+-- For example, the previous example can be simplified to just:
176168--
177169-- @
178170-- {-\# LANGUAGE DeriveGeneric \#-}