title: Is there any difference between "mutating" function and "inout" parameters in Swift?
body: <p>As per Swift documentation both mutating and inout keywords are used to modify the value types from within a function. Is there any difference between "mutating" and "inout" and any special case where we need to use either of them.</p>