rimuovere un elemento da una lista vuota
Non ha molto senso. Se la lista è vuota semplicemente si salta l'operazione, mentre è consigliabile lanciare un'eccezione quando si tenta di accedere a un elemento quando la lista è vuota.
inserire un elemento di tipo non supportato (la mia lista è un template, quali sarebbero gli imput errati?)
Il controllo sui tipi compatibili è effettuato a compile time, quindi ci pensa il compilatore ad avvisarti se il tipo di dato da inserire non è compatibile con il tipo di dato che stai inserendo.