Oh... no compile error... and there are times we casted to void* before? So user_pointer is useless?