let node ?id ?(a = []) name l : t =     let id =       match id with       | Some i -> i       | None -> make_id (`Of (name, a, l))     in     `Node ({id; name; attributes = a}, l)