C++, on the other hand, is statically and moderately-strongly typed language. So, you cannot – without using pointers which is inefficient – have heterogeneous containers because you must know all types at compile time. Also, you cannot have heterogeneous interfaces, … Enter the _ variadic template arguments_. This modern C++ feature makes it possible to have some aspects of heterogeneity without the disadvantage of inefficiency. Variadic template arguments help in designing interfaces for heterogeneous containers. As an example, please look at [DataFrame](https://github.com/hosseinmoein/DataFrame) which implements a C++ heterogeneous container. Look at member methods load_data()(https://htmlpreview.github.io/?https://github.com/hosseinmoein/DataFrame/blob/master/docs/HTML/load_data.html), groupby()(https://htmlpreview.github.io/?https://github.com/hosseinmoein/DataFrame/blob/master/docs/HTML/groupby.html), bucketize()(https://htmlpreview.github.io/?https://github.com/hosseinmoein/DataFrame/blob/master/docs/HTML/bucketize.html). I look forward to hearing what you think