module A = Array module M = Matrix module C = Css type status = { m: M.matrix; a: C.atoms; } let initial a m = { m = m; a = a; } let process_cell st y x c = M.set_css st.m y x (C.get_css st.a y x) let process_row st y row = A.iteri (process_cell st y) row let process css matrix = let st = initial css matrix in A.iteri (process_row st) matrix.M.m