Add non-mutating solution using Function.bind