virtual std::ostream& operator()( std::ostream& ostr ) const { return m_prev(ostr) << m_value; }
void decrement(Node& x) const { x = m_prev(x); }