{- Convert an `Optional` value into the equivalent `List` -} let toList : ∀(a : Type) → Optional a → List a = λ(a : Type) → λ(o : Optional a) → Optional/fold a o (List a) (λ(x : a) → [ x ] : List a) ([] : List a) let example0 = assert : toList Natural (Some 1) ≡ [ 1 ] let example1 = assert : toList Natural (None Natural) ≡ ([] : List Natural) in toList