You should provide type() const method to return m_type