anchor.diff:  
       io {
           let! oFile = compileC outputPath modul cgen
  -        do! compileToDynamicLibrary libs oFile dylibName
  +        do! compileToDynamicLibrary libs oFile dylibName modul
           return! cleanObjectFiles outputPath }
       |> IO.run
  
positive.code:     let flags = modul.GccFlagsLinux
  
      let args = makeArgs flags cFile oFile modul
      do! startGcc args
  
      return oFile }
  
  let compileToDynamicLibrary libs oFiles dylibName = io {
      let args = makeDynamicArgs libs oFiles dylibName
      do! startGcc args }
  
  let cleanObjectFiles outputPath = io {
      return
  
negative.code: 
  let makeDynamicLibraryPath path (modul: Module) = Path.Combine (path, sprintf "lib%s.so" modul.Name)
  
  // build-essentials; libc6-dev-i386
  let makeArgs flags cFile oFile (modul: Module) =
      if modul.IsCpp
      then
          sprintf "-Wall -m32 %s -c %s -o %s" flags cFile oFile
      else
          sprintf "-Wall -std=c99 -m32 %s -c %s -o %s" flags cFile oFile
  
  let makeDynamicArgs libs oFile soName = sprintf "-m32 %s %s -shared -o %s" libs oFile soName
  
  let makeGccStartInfo args (modul: Module) = 
      if modul.IsCpp
      then ProcessStartInfo ("g++", args)
      else ProcessStartInfo ("gcc", args)
  
  let findAllObjectFiles path = Directory.GetFiles (path, "*.o") |> List.ofArray
  
  let startGcc args modul = io {
      let pinfo = makeGccStartInfo args modul
  
      pinfo.UseShellExecute <- false
      pinfo.RedirectStandardError <- true
  