-let rec get i = function
- | Null -> empty, empty, E.empty_node, Void
- | Cons (e, c, a, b) when i = 0 -> e, c, a, b
- | Cons (e, _, _, _) -> get (pred i) e
+let rec get e i = match e with
+ | Null -> empty, empty, E.empty_node, E.empty_bind, Void
+ | Cons (e, c, a, y, b) when i = 0 -> e, c, a, y, b
+ | Cons (e, _, _, _, _) -> get e (pred i)