Don't mess up objects by removing functions (or potentially any other type) when decycling them

I had to change this in my own copy because it was removing functions from objects. It seems that when decycling there's no reason it should change objects other than removing cyclical references so it's appropriate to always return the value unless it's an object.