  parseJSON =
    withObject "AuthorInfo" $ \o ->
      AuthorInfo <$> o .: "authorName" <*> o .: "authorEmail" <*>
      o .: "githubName"

instance ToJSON AuthorInfo where
  toJSON AuthorInfo {..} =
    object
      [ "authorName" .= authorName
      , "authorEmail" .= authorEmail
      , "githubName" .= githubName
      ]
