let smart_create ~name ?(attrs = []) ?(children = []) () = let obj = AXOJs.Node.element name in obj >>> set_attributes attrs ; obj >>> append_children children ; obj