anchor.diff:    let _ = p.Start() in
     let output = p.StandardOutput.ReadToEnd() in
     p.WaitForExit(); 
  -  if show_output then output_string stdout output
  +  if show_output then printfn "%s" output
     else ()
   
   (** run an external (shell) and wait for it to complete.  Dont display its stdout. *)
  
positive.code:       let data = find signal in
        let sel = find sel in
        let opts = List.mapi (fun i x -> i, find x) dlist in
        let opts_map = List.fold_left (fun map (i,x) -> Map.add i x map) Map.empty opts in
        (fun () -> 
          let idx = (min (d.to_int sel) (len-1)) in
          let dmux = (Map.find idx opts_map) in
  
negative.code:           data.[word] <- data.[word] ||| (1ul <<< bit);
        done);
        
      to_int = (fun a -> int a.[0]);
      copy = (fun a b w -> 
        let words = (w + 31) / 32 in
        for i = 0 to words - 1 do a.[i] <- b.[i] done);
  