Adapted: Fix include guards
Adapt std::list.
Core: make sure instantiates works with complimentary type classes