open Sexplib.Std type function_predicate = { name: string; schema: (string * string) list; symbol: string; purity: Conventions.Purity.t; cardinality: Conventions.Cardinality.t } [@@deriving sexp] type statement = | LoadLibrary of string | DefineFunctionPredicate of function_predicate | ListFunctionPredicates [@@deriving sexp]