Yeah, you may consider just dropping it and the <code>counter_increase/decrease</code> also.  It will be very easy for caller to forget to also call those functions, unless you can make it automatic somehow, including inside <code>&#95;&#95;copy&#95;&#95;()</code>.  It's a tricky thing to get right, and takes a lot more code to do properly then you think.  Also if we can do without, it's less code to maintain :)