“…For example, this includes the type ord of Brouwer's ordinals whose constructors are 0 : ord, s : ord ⇒ ord and lim : (nat ⇒ ord) ⇒ ord, the process algebra µCRL which can be formalised as a type proc with a choice operator Σ : (data ⇒ proc) ⇒ proc (Sellink 1993), or the type form of the formulas of first-order predicate calculus whose constructors are ¬ : form ⇒ form, ∨ : form ⇒ form ⇒ form and ∀ : (term ⇒ form) ⇒ form. For example, this includes the type ord of Brouwer's ordinals whose constructors are 0 : ord, s : ord ⇒ ord and lim : (nat ⇒ ord) ⇒ ord, the process algebra µCRL which can be formalised as a type proc with a choice operator Σ : (data ⇒ proc) ⇒ proc (Sellink 1993), or the type form of the formulas of first-order predicate calculus whose constructors are ¬ : form ⇒ form, ∨ : form ⇒ form ⇒ form and ∀ : (term ⇒ form) ⇒ form.…”