anchor.diff:    let main argv = 
       let parser = UnionArgParser.Create<Arguments>()
       let args = parser.Parse argv
  -
       let repo = repo (args.GetResult (<@ Path @>,defaultValue="."))
  +    use fout = new System.IO.StreamWriter (System.Console.OpenStandardOutput())
  +    use g = new VDS.RDF.Graph ()
  +    TTL.ns.add g
  + 
       repo
       |> commits (args.GetResult (<@ Since @>,defaultValue="HEAD"))
       |> Seq.pairwise
       |> Seq.map (Prov.Activity.fromCommit repo)
  -    |> Seq.map TTL.fromActivity
  -    |> Seq.map (TTL.ttl (System.IO.StreamWriter (System.Console.OpenStandardOutput())))
  -    |> Seq.iter (fun _ -> ()) 
  +    |> Seq.map (TTL.fromActivity g)
  +    |> Seq.last
  +    |> TTL.ttl fout
       
       0// return an integer exit code
   
  
positive.code:     let prov = "http://www.w3.org/ns/prov#"
      let owl = "http://www.w3.org/2002/07/owl#"
      let bas = "http://nice.org.uk/ns/prov#"
      
    
    let fromActivity (act:Activity) =
      use g = new Graph ()
      let literal s =
        g.CreateLiteralNode s :> INode
  
  
negative.code:            (qn "prov:agent",puri act.User)
             (qn "prov:hadRole",literal "author, committer")
          ])
          ]) |> ignore
      g
  
    let ttl (tw:System.IO.TextWriter) g =
      let writer = CompressingTurtleWriter (CompressionLevel=3,PrettyPrintMode=true)
      writer.Save (g,tw) 
        
  module Main = 
    open Nessos.UnionArgParser
  