refactor_unary_parser<ParserT, NestedT> operator[](parser<ParserT> const& subject) const { return refactor_unary_parser<ParserT, NestedT> (subject.derived(), nested); }
explicit distinct_parser(parser<TailT> const & tail_) : tail(tail_.derived()) { }
static type call(parser<Derived> const& p) { return p.derived(); }