{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} module Test03 where import qualified GHC.Generics import WithCli main :: IO () main = withCli run run :: (A, B) -> IO () run options = do print (options :: (A, B)) data A = A { aa :: String } deriving (Show, GHC.Generics.Generic) instance Generic A instance HasDatatypeInfo A instance HasArguments A data B = B { bb :: String } deriving (Show, GHC.Generics.Generic) instance Generic B instance HasDatatypeInfo B instance HasArguments B