neighbors |> List.map ~f:(State.of_cell_state |- State.to_int)
|> List.fold_left ~init:0 ~f:(+)
let transition ~self ~neighbors =
self |> State.of_cell_state
neighbors |> List.map ~f:(State.of_cell_state |- State.to_int)
|> List.fold_left ~init:0 ~f:(+)
let transition ~self ~neighbors =
self |> State.of_cell_state
neighbors |> List.map ~f:State.of_cell_state
|> List.filter ~f:State.is_burning
|> List.map ~f:State.to_int
neighbors |> List.map ~f:State.of_cell_state
|> List.filter ~f:State.is_burning
|> List.map ~f:State.to_int