>>1,5I'm in the ``It's great, except when it's implemented by idiots, which is most of the time'' camp.
I dislike forced manual deallocation because that it clutters up the code and it is overkill for small allocations/deallocations where escape analysis could automatically free memory instead. Conversely, I find it important to be able to manually deallocate things when the program flow is too complex for escape analysis to handle and not doing so would cause a large amount of memory/CPU-time to be wasted. However, I would ballpark that 99% of allocations don't need to have a deallocation point manually specified.