Functional linked lists in JavaScript

Given the function list:

function list(head, tailF) {
  return [head, tailF];
}

and given the functions odds and evens:

var odds  = odds();  // 1 -> 3 -> 5 -> 7 -> ...
var evens = evens(); // 2 -> 4 -> 6 -> 8 -> ...

Write the function combine, which returns in constant time:

var ints = combine(odds, evens); // 1 -> 2 -> 3 -> 4 -> ...