title: Why does (int 10) produce a Long instance?
body: <p>Why does <code>(int 10)</code> not produce an instance of type <code>java.lang.Integer</code>?</p>
  
  <pre><code>; why Long here?
  =&gt; (type (int 10))
  ; java.lang.Long
  
  ; this one is also Long, why not java.lang.Number?
  =&gt; (type (num 10))
  ; java.lang.Long
  
  =&gt; (type (double 10))
  ; java.lang.Double
  =&gt; (type (long 10))
  ; java.lang.Long
  =&gt; (type (float 10))
  ; java.lang.Float
  =&gt; (type (short 10))
  ; java.lang.Short
  =&gt; (type (bigint 10))
  ; clojure.lang.BigInt
  =&gt; (type (bigdec 10))
  ; java.math.BigDecimal
  =&gt; (type (boolean 10))
  ; java.lang.Boolean
  =&gt; (type (char 10))
  ; java.lang.Character
  =&gt; (type (byte 10))
  ; java.lang.Byte
  </code></pre>