Bring syntax and tests up to speed, regret lack of iterator
Implement a destructor that isn't recursive