anchor.diff:                      | SynExpr.ArbitraryAfterError(_,_) -> None
                       | SynExpr.LongIdent(_,LongIdentWithDots(is,_),_,__) -> Some (List.map AstNode.Ident is)
                       | SynExpr.Lambda(_,_,p,e,_) -> Some([AstNode.Expression e;AstNode.SimplePatterns p])
  +                    | SynExpr.Sequential(_,_,e1,e2,_)
                       | SynExpr.IfThenElse(e1,e2,None,_,_,_,_) -> Some([AstNode.Expression e1; AstNode.Expression e2])
                       | SynExpr.IfThenElse(e1,e2,Some(e3),_,_,_,_) -> Some([AstNode.Expression e1; AstNode
   .Expression e2; AstNode.Expression e3])
  
positive.code:         let options source = checker.GetCheckOptionsFromScriptRoot(filename, source, DateTime.Now, [| |])
          checker.UntypedParse(filename, source, options source).ParseTree
          
      let Parse source = MakeAstNode (getParseTree source)
  
      // Active patterns to make dealing with the syntax tree more convenient
      let (|ModuleOrNamespaceChildren|_|) (expression : SynModuleOrNamespace) =
  
negative.code:                     | SynModuleDecl.Let(_,bs,_) -> Some(List.map AstNode.Binding bs)
                      | SynModuleDecl.DoExpr(_,e,_) -> Some([AstNode.Expression e])
                      | SynModuleDecl.Open(_,_) -> None
                      | SynModuleDecl.NestedModule(_,ds,_,_) -> Some(List.map AstNode.ModuleDeclaration ds)
                      | SynModuleDecl.Types(_,_) -> None
                      | _ -> raise (new NotImplementedException("Add a new entry to pattern for ModuleDeclaration: " + (string m)))
              | Binding(b) ->
                  match b with
  