sig
  type t = (string, string) Core.Std.List.Assoc.t
  val add : key:string -> data:string -> Environment.t -> Environment.t
  val find : key:string -> Environment.t -> string option
  val find_exn : key:string -> Environment.t -> string
  val mem : key:string -> Environment.t -> bool
  val remove : key:string -> Environment.t -> Environment.t
  val import_from_sys :
    ?default:string -> key:string -> Environment.t -> Environment.t
  val append_to_path :
    ?where:[ `Back | `Front ] ->
    key:string -> data:string -> Environment.t -> Environment.t
  val to_exec_env : Environment.t -> string list
  val of_exec_env : string array -> Environment.t
end