          template <typename Context, typename Iterator>          struct attribute          {              typedef typename                  boost::result_of<qi_modify(tag::lazy_eval, Modifiers)>::type              modifier;                typedef typename                  remove_reference<                      typename boost::result_of<Function(unused_type, Context)>::type                  >::type              