What?! Shouldn't this also be ['a', 'b']? Nope! Javascript passes by reference. The addToArrayBroken() actually creates a new array, while the returned object (since it has already been created at this point) points to the original, still empty array. We can fix this by using the encapsulation, i.e. changing the value of someArray WILL change the value in that scope, so if we add a function to reference the scope, we can get the changed value with relatively little extra work.