bool bson_iter_recurse (const bson_iter_t *iter, bson_iter_t *child);
The bson_iter_recurse() function shall initialize child using the embedded document or array currently observed by iter.
If there was a failure to initialize the iter, false is returned and both iter and child should be considered invalid.
This should only be called when observing an element of type BSON_TYPE_ARRAY or BSON_TYPE_DOCUMENT.
true if child has been intialized. Otherwise, both child and iter should be considered invalid.