module ForallForParameters
         (F : Set -> Set -> Set) X {Y} (Z : F X Y) where

data List (A : Set) : Set where
  [] : List A
  _::_ : A -> List A -> List A

module M A {B} (C : F A B) where

  data D : Set -> Set where
    d : A -> D A

  data P A : D A -> Set where

  data Q {A} X : P A X -> Set where

module N I J K = M I {J} K
open module O I J K = N I J K

record R {I J} (K : F I J) : Set where
