title: Can a statically-typed language support heterogeneous lists?
body: <p>In Python, I can easily create a list containing values of various types, e.g.:</p>
  
  <pre><code>[0, 1.0, '2', MyClass(3)]
  </code></pre>
  
  <p>However, in the statically-typed languages I am familiar with, lists can only contain values of a single type. For example, C++'s <code>std::vector&lt;T&gt;</code> can only hold values of type <code>T</code>. C#'s <code>List&lt;T&gt;</code> is similar.</p>
  
  <p>Is it possible for a statically-typed language to support heterogeneous lists? If so, which languages have such support?</p>