代表角色

型別函式的引數引數的示例:

data List a = Nil | Cons a (List a)

type family DoNotInspect x
type instance DoNotInspect x = List x

這裡 x 是引數化的,因為要確定將 DoNotInspect 應用於型別引數的結果,型別函式不需要檢查 x

在這種情況下,x 的作用是具有代表性的。我們可以使用 RoleAnnotations 擴充套件宣告該角色:

type role DoNotInspect representational