type t = { name : string; outputs : src list; boxes : box array } and src = | In_w | In_n | Out_e of int | Out_s of int and box = { label : string; mutable in_w : src option; mutable in_n : src option }