Comp.Pattern_objecttype t = | Raw_identifier of {location : Beluga_syntax.Syncom.Location.t;identifier : Beluga_syntax.Syncom.Identifier.t;prefixed : Stdlib.Bool.t;}| Raw_qualified_identifier of {location : Beluga_syntax.Syncom.Location.t;identifier : Beluga_syntax.Syncom.Qualified_identifier.t;prefixed : Stdlib.Bool.t;}| Raw_box of {location : Beluga_syntax.Syncom.Location.t;pattern : Synprs__.Synprs_definition.Meta.Thing.t;}| Raw_tuple of {location : Beluga_syntax.Syncom.Location.t;elements : t Support.List2.t;}| Raw_application of {location : Beluga_syntax.Syncom.Location.t;patterns : t Support.List2.t;}| Raw_annotated of {location : Beluga_syntax.Syncom.Location.t;pattern : t;typ : Sort_object.t;}| Raw_meta_annotated of {location : Beluga_syntax.Syncom.Location.t;parameter_identifier : Beluga_syntax.Syncom.Identifier.t Support.Option.t
* [ `Plain | `Hash | `Dollar ];parameter_typ : Synprs__.Synprs_definition.Meta.Thing.t Support.Option.t;pattern : t;}Raw_meta_annotated { paramter_identifier = Option.Some "x"; modifier; parameter_typ = Option.Some t; pattern; _ } is the the pattern { x : t } pattern.
It is a syntax error to omit the identifier or the type.
*)| Raw_wildcard of {location : Beluga_syntax.Syncom.Location.t;}