Source code on Github
{-# OPTIONS --without-K #-}
module Class.Core where

open import Class.Prelude

Type[_↝_] :   ℓ′  Type (lsuc   lsuc ℓ′)
Type[   ℓ′ ] = Type   Type ℓ′

Type↑ : Typeω
Type↑ =  {}  Type[    ]

module _ (M : Type↑) where
   : (A  Type )  Type _
   P =  {x}  M (P x)

   : (A  B  Type )  Type _
   _~_ =  {x y}  M (x ~ y)

   : (A  B  C  Type )  Type _
   _~_~_ =  {x y z}  M (x ~ y ~ z)

variable
  M F : Type↑