My takeaway, is if the documentation says the datatype is opaque, use the functions of the library the datatype came with to manipulate its contents.