Merkle.P
val root : tree -> Csir.Scalar.t
val generate_tree : ?leaves:Csir.Scalar.t array -> int -> tree
val get_depth : tree -> int
val get_leaves : tree -> Csir.Scalar.t array
val print_tree : tree -> unit
type leaf = H.P.scalar
type path = (H.P.scalar * bool) list
val update_tree : ?input_length:int -> tree -> int -> H.P.scalar -> tree