This is just something I've created some time ago when experimenting with my own smart-pointers.