The Swift standard library includes zip which creates a single array containing two element tuples from two arrays. However I wanted to zip three arrays of previous, next and current values. With open-source Swift it was straight-forward to examine the standard library implementation of zip and create Zip3 :-