sig
  module LogSource :
    sig
      type t = Filepath.position
      val syntax : Syntax.t
      val of_json : Data.json -> t
      val to_json : t -> Data.json
      module Joption :
        sig
          type t = t option
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
      module Jlist :
        sig
          type t = t list
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
      module Jarray :
        sig
          type t = t array
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
    end
  module LogEvent :
    sig
      type t = Log.event
      val syntax : Syntax.t
      val of_json : Data.json -> t
      val to_json : t -> Data.json
      module Joption :
        sig
          type t = t option
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
      module Jlist :
        sig
          type t = t list
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
      module Jarray :
        sig
          type t = t array
          val syntax : Syntax.t
          val of_json : Data.json -> t
          val to_json : t -> Data.json
        end
    end
end