anchor.diff:    let name, decls, _mt = match m with // SI: don't forget mt!
       | Module(n,d) -> n, d, "module"
       | Interface(n,d,_) -> n, d, "interface" in
  -  // Run document_decl against it the toplevel, 
  +  // Run document_toplevel against the toplevel, 
     // then run document_decl against all the other decls. 
     match one_toplevel decls with 
     | Some (top_decl,other_decls) -> 
  
positive.code:           let fd = open_file_for_writing on in
            let w = append_to_file fd in
            // SI: keep TopLevelModule special? 
            let com = document_toplevel name top_decl in 
            w (format "# module %s" [name.str]);
            w (format "%s" [code_wrap com]);
            // SI: this will print doc twice if there's no summary: kw. 
            (match top_decl.doc with | Some(doc, _) -> w doc | _ -> ());
            // non-TopLevelModule decls. 
            List.iter (document_decl w) other_decls;
  
negative.code:         w "" // EOL 
    else ()
  
  // return "summary:", or comment, or (if there's no comment) nothing. 
  let document_toplevel name topdecl = 
    let no_doc_provided = "(* fsdoc: no doc for module " ^ name.str ^ " *)" in 
    match topdecl.d with
  