Hi Stephen, One of the problems with debugging (depending on the debugger and environment) is break points with inline functions. To give me a debug-able spot I can drop a breakpoint on, I've done this before: // --- Fruit.h --- void EljayBreakpoint(); class Fruit { public: template <typename Basket> void print_Contents(Basket* container_ptr) { EljayBreakpoint(); std::cout << container_ptr->dump() << std::endl; } }; // --- Fruit.cpp --- #include "Fruit.h" void EljayBreakpoint() { std::cerr << "EljayBreakpoint: you are here\n"; } And then I set the breakpoint inside EljayBreakpoint. I now realize I haven't needed to do this trick in many years. So either the debuggers are better on the platforms I'm using and can sensically step into inline functions, or I'm making less boo-boos. HTH, --Eljay