FsOp:
    | { kind: "list"; path: string }
    | { kind: "readFile"; path: string }
    | { binary?: boolean; data: string; kind: "writeFile"; path: string }
    | { kind: "mkdir"; path: string }
    | { kind: "remove"; path: string; recursive?: boolean }