anchor.diff:              )
   
       let renderApiDoc (writer:TextWriter) doc headline = 
  -        doc.Summary >>= processInlines writer 
  +        doc.Summary >>= renderInlines writer 
   
  -        doc.Params >>= processParameters writer headline
  -        doc.Returns >>= processReturns writer headline
  -        doc.Exceptions >>= processExceptions writer headline
  -        doc.Remarks >>= processRemarks writer headline
  -        doc.Example >>= processExample writer headline
  -        doc.Permissions >>= processPermissions writer headline
  +        let renderSection renderItems headlineText items =
  +            headline headlineText
  +            items |> renderItems writer 
   
  -        doc |> processSeeAlso writer headline
  +        doc.Params >>= renderSection renderCRefDescriptions "Parameters"
  +        doc.Returns >>= renderSection renderInlines "Return value"
  +        doc.Exceptions >>= renderSection renderCRefDescriptions "Exceptions"
  +        doc.Remarks >>= renderSection renderInlines "Remarks"
  +        doc.Example >>= renderSection renderInlines "Example"
  +        doc.Permissions >>= renderSection renderCRefDescriptions "Permissions"
  +
  +        doc |> renderSeeAlso writer headline
                     
       let renderMembersOfKind (writer:TextWriter) (headline : string) level members = 
           writer.WriteLine()
  
positive.code: 
          writer.WriteLine ( marker + " " + headline)
  
      let renderCRefDescriptions (writer:TextWriter) items =
          items 
          |> Seq.iter( fun x -> 
  
negative.code: 
      let (>>=) m f = ifNotEmpty(m,f)
  
      let renderInline inl =
          let renderText txt =
              // TODO: insert NewLine after e.g. 100 characters
              normalizeSpace txt         
  
          match inl with
          | Text x -> renderText x
          | C x -> sprintf "`%s`" (x.Trim())  
          | Code x -> sprintf "%s```%s%s%s```%s" nl nl (x.Trim()) nl nl  
          | Para x -> sprintf "%s%s%s" nl (renderText x) nl  
          | ParamRef x -> let (CRef cref) = x  
                          sprintf "*%s*" cref
          | TypeParamRef x -> let (CRef cref) = x  
                              sprintf "_%s_" cref
          | See x -> let (CRef cref) = x  
                     sprintf "*See:* %s" (cref.Trim())
          | SeeAlso x -> String.Empty // ignore here - will be rendered later
  
      let renderHeadline (writer:TextWriter) level headline =
          writer.WriteLine ()
  
  