{-# LANGUAGE TemplateHaskell #-}
module Data.Accessor.Template.Example where

import qualified Data.Accessor.Template as AT

data Foo a =
   Bar { x_ :: a } |
   Qux { x_ :: a }

$( AT.deriveAccessors ''Foo )


data HigherKind tycon =
   HigherKind {
      y_ :: tycon Int,
      z_ :: tycon Char
   }

$( AT.deriveAccessors ''HigherKind )