This looks like it could be a good change. Personally I think new point with { x = 1, y = 2, z = 3 } is much cleaner looking than say point.withX(1).withY(2).withZ(3). names params is generally something I like it languages though, so I might be biased here.