what are the pros and cons of immutability javascript