code: public Rule Smarts() {
          return NodeSequence(
                  FirstOf(
                          Sequence(FirstOf("...", ". . ."), push(new SimpleNode(Type.Ellipsis))),
                          Sequence("---", push(new SimpleNode(Type.Emdash))),
                          Sequence("--", push(new SimpleNode(Type.Endash))),
                          Sequence('\'', push(new SimpleNode(Type.Apostrophe)))
                  )
          );
      }
docs: ************* SMARTS ****************