anchor.diff:                          Seq.append folders files
                   else
                       if path.Drive |> Option.exists (fun d -> not <| DriveInfo(wpath d).IsReady) then
  -                        Error <| Exception "Drive is not ready"
  +                        Error <| exn "Drive is not ready"
                       else
  -                        Error <| Exception "Path does not exist"
  +                        Error <| exn (sprintf "Path does not exist: %s" (wpath path))
           allNodes |> Result.map (fun allNodes ->
               let nodes =
                   allNodes
  
positive.code:                     tryResult <| fun () ->
                          DirectoryInfo(wp).EnumerateFiles("*", SearchOption.AllDirectories)
                          |> Seq.sumBy (fun fi -> fi.Length)
                  | _ -> Error <| Exception "Cannot recycle this item."
              let ratio = (double size) / (double driveSize)
              if ratio > 0.03 then
                  return! Error <| Exception "Item cannot fit in the recycle bin."
              else
                  return! tryResult <| fun () ->
                      if nodeType = Folder then
  
negative.code:                 path.Drive
                  |> Option.map (fun d -> DriveInfo(wpath d).TotalSize)
                  |> Option.filter (flip (>) 0L)
                  |> Result.ofOption (exn "This drive does not have a recycle bin.")
              let! node = this.GetNode path
              let! size =
                  match node with
  