apparent but behind the scenes, plain rules are actually implemented
  using a pointer to a runtime polymorphic abstract class that holds the dynamic
  type of the parser assigned to it. When a Spirit expression is assigned to a
  rule, its type is encapsulated in a concrete subclass of the abstract class.
  A virtual parse function delegates the parsing to the encapsulated object.</p>
<p>Rules have drawbacks though:</p>
<p><img src="theme/bullet.gif" width="12" height="12"> It is coupled to a specific 
  s