Nice way of copying an immutable value while changing only a few of its many properties?

I remember now: its let with default value that can be overridden but using only the auto gen'ed init():

struct Blah {
     let a = 100
}

let x = Blah(a: 999).   // <== error: argument passed to call that takes no arguments

but it's okay if you use var:

struct Blah {
     var a = 100
}

let x = Blah(a: 999)

But I really want this:

struct Blah {
     let a: Int

     init(a: Int = 100) {
         self.a = a
     }
}

let x = Blah(a: 999)

So I must write the init()

(I remembered Binding because I didn't like having to hand code the init() and deal with setting the bindings)