   if (typeof xs === "undefined" || xs === null) {
     throw new Error('Pattern matching required sequence got undefined');
   }
-  if (xs.length != null) {
+  if (xs.length !== null) {
     if (i >= xs.length) {
       throw new Error('Pattern matching required a list of size at least ' + (i + 1));
     }
     return xs[i];
   }
-  if (i == 0) {
+  if (i === 0) {
     return xs.head;
   }
   return $sequenceAt(i - 1, xs.tail);

    # For now expect the curried constructor call
    args = _arguments call
    [paramList, defs...] = args
    params = paramTuple paramList
    defs ?= []
    if defs.length is 0
      malformed call, 'Missing function result'

    throw new Error('Second argument to & must be a sequence');
  }
  if (typeof xs == 'string' || xs instanceof String) {
    if (xs === '' && !(typeof x == 'string' || x instanceof String)) {
      return [x];
    } else {
      return x + xs;
