title: What's the difference between `usize` and `u32`?
body: <p>The documentation says <code>usize</code> is</p>
  
  <blockquote>
    <p>Operations and constants for pointer-sized unsigned integers.</p>
  </blockquote>
  
  <p>In most cases, I can replace <code>usize</code> with <code>u32</code> and nothing happens. So I don't understand why we need two types which are so alike.</p>