Add combine_latest function

This can still be reduced to:

```elixir
fn(el, {left, right} ->
case el do
  {:left, _} -> {el, right}
  {:right, _} -> {left, el}
end
end)
```

If you look at the code here, you don't need to differentiate between nil and a value when setting something in the acc.