anchor.diff:  rather than for being featureful, and designed in the context of a full-featured
   language rather than a limited language like CSS. One key difference is in how
   you combine them. In CSS, you can use `>` to select direct children, `+` for
  -direct siblings, etc. Lift only provides one combinator, the space: ` `. It
  -works just like in CSS, applying to all descendants. So you can set up a selector
  -`.user-form input [value]` and it will for setting the `href` attribute of all
  -`input` elements that have some ancestorwith class  `user-form` .
  +direct siblings, etc. Lift only provides one combinator, the space. It works
  +just like in CSS, checking all descendants of the elements matched by the
  +select to the left against the selector on the right. So you can set up a
  +selector `.user-form input [value]` and it will set the `href` attribute of all
  +`input` elements that have some ancestor with class `user-form`.
   
   Notably, you cannot select `form.user input [href]`, because you cannot check
   multiple selectors on a single element. In practice, this is rarely needed for
  
positive.code: ```
  
  Beware, however, as `&` is not the same as `andThen`. To do this trickery, Lift
  will only transform a part of a node once, and it won't revisit it. Two
  transformations that apply to the same attribute for the same element, for
  example, will not both be applied. Additionally, if your transformation applies
  to the body of an element, like `a *`, the new children of the element will
  _not_ be transformed. Additionally, if you replace the element itself, e.g.
  with the selector `a`, none of the other transforms for that element will run.
  
  Thus, you will occasionally find yourself using `&` together with `andThen`; in
  general you should default to `&` and switch to `andThen` when you need to in
  order to apply a transform to the results of the previous one.
  
  == Macros and Strings
  
  Lift's CSS Selector Transforms can be used in two modes. Most basically, you
  can create a `String` with the appropriate selector and then specify the
  transformation you want to apply to matching blocks
  
negative.code:   The universal selector matches any element.
  
  Root selector: `^`::
    The root selector matches elements at the root level of the `NodeSeq` being
    transformed. For example, you can use `^` to match both the `header`
    and `ul` elements in the HTML `<header id="page-header">...</header><ul
    ng-model="user">...</ul>`.
  