Implement a sane error message when passing an incompatible smart pointer type