The title might be a little confusing, so let me break this to you.
In Swift, we can have functions with default parameter values, e.g:
func foo(value: Int = 32) { }
And we also can have In-Out parameters, e.g.
func foo(value: inout Int) { }
But, there is a way to have both? A inout parameter, that if it wasn't passed, we can create? This is particularly useful with recursive functions, and I am trying to figure this out.