You could also just make it completely immutable, but there are some other reason's why that's hard - for instance we mutate it inside of Spark to store things like the driver port after it's bound. My point was just that if you have something mutable and then treat it like something immutable, you better warn people.