title: Why or why not should I use 'UL' to specify unsigned long?
body: <pre><code>ulong foo = 0;
  ulong bar = 0UL;//this seems redundant and unnecessary. but I see it a lot.
  </code></pre>
  
  <p>I also see this in referencing the first element of arrays a good amount</p>
  
  <pre><code>blah = arr[0UL];//this seems silly since I don't expect the compiler to magically
                  //turn '0' into a signed value
  </code></pre>
  
  <p>Can someone provide some insight to why I need 'UL' throughout to specify specifically that this is an unsigned long?</p>