It seems rather fundamental to be able to compose a new struct from a
given struct using inheritance. Why is this not allowed?
struct slist_node
{
slist_node* next;
};
template <class T>
struct slist_node<T>: public slist_node
{
T data;
};