ghc-exactprint-0.5.0.0: tests/examples/ghc8/T10564.hs
{-# LANGUAGE FlexibleInstances, FlexibleContexts, UndecidableInstances,
DataKinds, TypeFamilies, KindSignatures, PolyKinds, FunctionalDependencies #-}
module T10564 where
class HasFieldM (l :: k) r (v :: Maybe *)
| l r -> v
class HasFieldM1 (b :: Maybe [*]) (l :: k) r v
| b l r -> v
class HMemberM (e1 :: k) (l :: [k]) (r :: Maybe [k])
| e1 l -> r
data Label a
type family LabelsOf (a :: [*]) :: [*]
instance (HMemberM (Label (l::k)) (LabelsOf xs) b,
HasFieldM1 b l (r xs) v)
=> HasFieldM l (r xs) v where