module AutoInData import Prelude rep : ∀ a. Nat → a → List a rep Z x = Nil rep (S k) x = x :: rep k x data RunLength : ∀ ty. List ty → U where Empty : ∀ ty. RunLength {ty} Nil Run : ∀ ty more. (n : Nat) → (x : ty) → RunLength more → RunLength (rep n x ++ more)