Purely functional data structures in Idris