thinking about refcounted types