SparkConf actually seems to follow the Builder pattern to a T. I wonder if it would be good to have a SparkConfBuilder that builds to an immutable SparkConf, or something like that. (Also, the builder pattern typically uses "withMaster", etc. for call chaining.)