use_interface and use_unknown now do not take raw pointers. Created a function reinterpret_portable_base (like reinterpret_cast) that has to be used with a raw pointer