title: Creating a Lisp alias with defalias or new function?
body: <p>I want <code>mylist</code> to have the same functionality as <code>list</code>. In most Lisps (I'm on Emacs Lisp) I can simply write</p>
  
  <pre><code>(defalias 'mylist 'list)
  </code></pre>
  
  <p>But if I want to write my own I can write</p>
  
  <pre><code>(defun mylist (&amp;rest x)
      (car (list x)))
  </code></pre>
  
  <p>which has the same functionality. But then I got this by experimenting. First, I had this code</p>
  
  <pre><code>(defun mylist (&amp;rest x)
          (list x))
  </code></pre>
  
  <p>which produced a list in a list. I wasn't sure why, but the simple solution was to just put <code>(list x)</code> inside a <code>car</code> and call it good. But I'd like to know why I get a list inside a list when I don't use the <code>car</code> trick. What am I missing?</p>