minimized the amount of annotation to get a fully working std::list