type encoding = [ `CHARSET of string | `LOCALE | `NONE ] type t type callback = exceptions:exn list -> stdout:string -> stderr:string -> int -> unit val spawn : encoding:encoding -> cmd:string list -> input:string option -> reap_callback:(unit -> unit) -> callback -> t val abort : t -> unit