open Seq let to_sixteen f = ints 0 |> take 16 |> f |> Array.of_seq let ( >>= ) = Option.bind let mem = Fun.flip Array.mem let colours = let init_default = to_sixteen (map (fun x -> Types.Simple x)) in Sys.getenv_opt "CULRS" >>= (fun s -> if String.length s > 0 then Some s else None) |> Option.fold ~none:init_default ~some:Parse.parse_env_colours let order = let init_default = to_sixteen (filter (fun i -> i |> mem [| 0; 8 |])) in Sys.getenv_opt "CULR_ORDER" >>= (fun s -> if String.length s > 0 then Some s else None) |> Option.fold ~none:init_default ~some:Parse.parse_env_order