Module Opt.Overlap

module Typ = Runtime.Type.Typ
val exp_as_guard : Ol.Ast.exp -> Ol.Ast.exp -> Ol.Ast.guard option
val guard_as_exp : Ol.Ast.exp -> Ol.Ast.guard -> Ol.Ast.exp
val typ_as_variant : Runtime.Dynamic_Sl.Envs.TDEnv.t -> Ol.Ast.typ -> Domain.Mixop.t list option
type overlap =
  1. | Identical
  2. | Disjoint of Ol.Ast.exp * Ol.Ast.guard * Ol.Ast.guard
  3. | Partition of Ol.Ast.exp * Ol.Ast.guard * Ol.Ast.guard
  4. | Fuzzy
val partition_exp_literal : Ol.Ast.exp -> Ol.Ast.exp -> bool
val disjoint_exp_literal : Ol.Ast.exp -> Ol.Ast.exp -> bool
val overlap_pattern : Ol.Ast.exp -> Ol.Ast.pattern -> Ol.Ast.pattern -> overlap