data tree BUGFIX keep first sibling pointer correct

In case it is supposed to point to the first data sibling
of a module, do not break this.
diff --git a/src/tree_data.h b/src/tree_data.h
index ee28c41..883929e 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -1074,7 +1074,9 @@
 /**
  * @brief Add any missing implicit nodes. Default nodes with a false "when" are not added.
  *
- * @param[in,out] tree Tree to add implicit nodes into.
+ * @param[in,out] tree Tree to add implicit nodes into. Note that in case a first top-level sibling is used,
+ * it may no longer be first if an implicit node was inserted before @p tree. Use ::lyd_first_sibling() to
+ * adjust @p tree in these cases.
  * @param[in] ctx libyang context, must be set only if @p tree is an empty tree.
  * @param[in] implicit_options Options for implicit node creation, see @ref implicitoptions.
  * @param[out] diff Optional diff with any created nodes.
@@ -1085,7 +1087,9 @@
 /**
  * @brief Add any missing implicit nodes of one module. Default nodes with a false "when" are not added.
  *
- * @param[in,out] tree Tree to add implicit nodes into.
+ * @param[in,out] tree Tree to add implicit nodes into. Note that in case a first top-level sibling is used,
+ * it may no longer be first if an implicit node was inserted before @p tree. Use ::lyd_first_sibling() to
+ * adjust @p tree in these cases.
  * @param[in] module Module whose implicit nodes to create.
  * @param[in] implicit_options Options for implicit node creation, see @ref implicitoptions.
  * @param[out] diff Optional diff with any created nodes.