Module Shared_ast.Type

type t = Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos
val format : Stdlib.Format.formatter -> t -> unit
module Map : Catala_utils.Map.S with type key = t
val equal : t -> t -> bool
val equal_list : t list -> t list -> bool
val compare : t -> t -> int
val map : (t -> t) -> t -> t

Shallow mapping on types

The strip argument strips the given leading path components in included identifiers before hashing

val unifiable : t -> t -> bool
val unifiable_list : t list -> t list -> bool

Similar to equal, but allows TAny holes

val arrow_return : t -> t

Returns the last member in nested TArrow types

val has_arrow : Shared_ast__.Definitions.decl_ctx -> t -> bool

Fails (with Invalid_argument) on TAny and TClosureEnv