Error when using non-template version of Branch with std::array

Thanks for the tip, Philippe. In another thread you mentioned that there are other types (i.e. std::pair, std::tuple, std::unique_ptr) that features a special treatment regarding I/O, if I correctly understood your comment. Is there any reference about how to treat them in this context? I guess I can reverse-engineer it but documentation would be preferable.