Luna::opaque_t
using opaque_t = void*
opaque_t
is used to represent one opaque pointer that shall not be reinterpreted or dereferred by the user. opaque_t are ususally used as arguments or returns values of interface functions to hide the implementation from the user.