sig
  module Writes :
    sig
      type effects = { direct : bool; indirect : bool; }
      val compute :
        Locations.Zone.t -> (Cil_types.stmt * Studia.Writes.effects) list
    end
  module Reads :
    sig
      val compute :
        Locations.Zone.t -> (Cil_types.stmt * Studia.Writes.effects) list
    end
end