title: what is the usage of :type in defcustom?
body: <p>I am not sure I understand the property <code>type</code> in <code>defcustom</code>. I can perfectly define the following variables without conforming to the <code>type</code>. what is the purpose of <code>type</code> in this context?</p>
  
  <pre><code>(defcustom foo 1 "foo" :type 'string)
  (defcustom spam "a" "foo" :type 'integer)
  </code></pre>