dhall-1.42.2: benchmark/parser/examples/normalize/FunCompose.dhall
let compose
: ∀(a : Type) → ∀(b : Type) → ∀(c : Type) → (a → b) → (b → c) → a → c
= λ(A : Type)
→ λ(B : Type)
→ λ(C : Type)
→ λ(f : A → B)
→ λ(g : B → C)
→ λ(x : A)
→ g (f x)
let composeN : ∀ (a : Type) → Natural → (a → a) → a → a
= λ (a : Type)
→ λ (n : Natural)
→ λ (f : a → a)
→ Natural/fold n (a → a) (compose a a a f) (λ (x : a) → x)
in composeN Natural 100000 (λ (x : Natural) → x + 1) 0