title: generic programming in C - void*- const-correctness
body: <p>My question is, if it is correct to define both:</p>
  
  <pre><code>typedef void* Elem;
  typedef const void* const constElem; 
  </code></pre>
  
  <p>If I know that I would work with const and non const generic elements, for example for the <code>copyElem</code> function as a parameter, I would prefer to get it as <code>const</code>, for the const correctness, is this practical?</p>