result_type operator()(const bind &b) { assert(detail::isinstance<name>(b.lhs())); const name& lhs = boost::get<const name&>(b.lhs()); if (m_declared.exists(lhs.id())) { m_modified.insert(lhs.id()); } else { m_declared.insert(lhs.id()); } return b.ptr(); }