Add interfaces for shared and weak pointer types