1{-# LANGUAGE TypeFamilies #-} 2{-# LANGUAGE TypeApplications #-} 3{-# LANGUAGE DataKinds #-} 4{-# LANGUAGE DeriveGeneric #-} 5{-# OPTIONS_GHC -Wall #-} 6 7module Test40 where 8 9import Data.Generics.Product 10import GHC.Generics 11 12class MyClass a where 13 data AssocData a 14 15instance MyClass Int where 16 data AssocData Int = SomeData 17 { val :: Int 18 } deriving (Generic) 19 20main :: IO () 21main 22 = print $ getField @"val" (SomeData 3) 23