anchor.diff:      let (|ModuleOrNamespaceChildren|_|) (expression : SynModuleOrNamespace) =
           match expression with
               | SynModuleOrNamespace (_,_,e1,_,_,_,_) -> Some(e1)
  -
  -        
  -    let (|SynExprChildren|_|) (expression : SynExpr) =
  -        match expression with
  -            | SynExpr.Paren(e1,_,_,_) -> Some([e1])
  -            | SynExpr.Quote(e1,_,e2,_,_) -> Some([e1;e2])
  -            | _ -> raise (new NotImplementedException("Add a new entry to the active pattern for SynExpr children:" + (string expression)))
   
       let (|Children|_|) (node : AstNode) =
           match node with
  
positive.code:                     | SynExpr.DotGet(e,_,_,_)
                      | SynExpr.Assert(e,_)
                      | SynExpr.Do(e,_)
                      | SynExpr.Lazy(e,_)
                      | SynExpr.CompExpr(_,_,e,_) -> Some([AstNode.Expression e])
                      | SynExpr.ArrayOrList(_,es,_)
                      | SynExpr.Tuple(es,_,_) -> Some(List.map AstNode.Expression es)
  
negative.code:                     | SynExpr.TypeApp(e,_,_,_,_,_,_)
                      | SynExpr.Upcast(e,_,_)
                      | SynExpr.Downcast(e,_,_)
                      | SynExpr.InferredUpcast(e,_)
                      | SynExpr.InferredDowncast(e,_)
                      | SynExpr.YieldOrReturn(_,e,_)
                      | SynExpr.YieldOrReturnFrom(_,e,_)
                      | SynExpr.Paren(e,_,_,_)
  