code: func (l List) With(keyvals ...interface{}) List {
  	keyvals = flattenFix(keyvals)
  	list := l.clone(len(l) + len(keyvals))
  	list = append(list, keyvals...)
  	return list
  }
docs: // With returns a new list with keyvals appended. The original
  // list (l) is not modified.