anchor.diff:                       ) markers
                        |> Seq.toList |> vector
       let results = m.Solve(b)
  -    // finally apply pressure (but only to borders of fluid cells).
  +    // apply pressure only to borders of fluid cells.
       let inv_c = 1.0 / c
       let gradient (where: Coord) v =
         let neighbors = where.forwardNeighbors ()
  
positive.code:               ) markers new_velocities
  
    // gravity only (for now).
    let apply_forces () =
      let v = Constants.gravity .* Constants.time_step
      Seq.iter (fun (m: Coord) ->
                  for direction, neighbor in m.neighbors () do
                    match Grid.get neighbor with
  
negative.code:                 ) all_neighbors
  
    // convection by means of a backwards particle trace.
    let apply_convection dt =
      let new_velocities = Seq.map (fun m ->
                                      let new_position = trace m dt
                                      match Grid.get new_position with
                                        | Some c -> c.velocity
                                        | _ -> failwith "Backwards particle trace went too far."
  