anchor.diff:      | JavaScript | TypeScript -> Js.compileFile com cliArgs pathResolver isSilent outPath
       | Python -> Python.compileFile com cliArgs pathResolver outPath
       | Php -> Php.compileFile com outPath
  -    | Dart -> Dart.compileFile com cliArgs pathResolver outPath
  +    | Dart -> Dart.compileFile com cliArgs pathResolver isSilent outPath
       | Rust -> Rust.compileFile com cliArgs pathResolver outPath
  
positive.code:                 let projDir = IO.Path.GetDirectoryName(cliArgs.ProjectFile)
                  let path = Imports.getImportPath pathResolver sourcePath targetPath projDir cliArgs.OutDir path
                  if path.EndsWith(".fs") then Path.ChangeExtension(path, fileExt) else path
              member _.AddSourceMapping(_) = ()
              member _.AddLog(msg, severity, ?range) =
                  com.AddLog(msg, severity, ?range=range, fileName=com.CurrentFile)
              member _.Dispose() = stream.Dispose()
  
      let compileFile (com: Compiler) (cliArgs: CliArgs) pathResolver (outPath: string) = async {
          let file =
              FSharp2Fable.Compiler.transformFile com
              |> FableTransforms.transformFile com
              |> Fable2Dart.Compiler.transformFile com
  
          // TODO: Check if compilation is silent or file is empty (see JS)
          use writer = new DartWriter(com, cliArgs, pathResolver, outPath)
          do! DartPrinter.run writer file
      }
  
  module Rust =
  
negative.code:                 let projDir = IO.Path.GetDirectoryName(cliArgs.ProjectFile)
                  let path = Imports.getImportPath pathResolver sourcePath targetPath projDir cliArgs.OutDir path
                  if path.EndsWith(".fs") then Path.ChangeExtension(path, fileExt) else path
              member _.AddSourceMapping _ = ()
              member _.AddLog(msg, severity, ?range) =
                  com.AddLog(msg, severity, ?range=range, fileName=com.CurrentFile)
              member _.Dispose() = stream.Dispose()
  