Module Accessor.Subtyping
The Subtyping
module contains all the types used for accessor subtyping. You shouldn't have to use it, but it's here for the documentation.
type at_least_one
=[
|
`at_least_one
]
type at_most_one
=[
|
`at_most_one
]
type coerce
=[
|
`coerce
]
type construct
=[
|
`construct
]
type get
=[
|
`get
]
type map
=[
|
`map
]
type constructor
= construct
type equality
=[
|
get
|
map
|
at_most_one
|
at_least_one
|
construct
|
coerce
]
type field
=[
|
get
|
map
|
at_most_one
|
at_least_one
]
type getter
=[
|
get
|
at_least_one
|
at_most_one
]
type isomorphism
=[
|
get
|
map
|
at_most_one
|
at_least_one
|
construct
]
type many
=[
|
get
|
map
]
type many_getter
= get
type mapper
= map
type nonempty
=[
|
get
|
map
|
at_least_one
]
type nonempty_getter
=[
|
get
|
at_least_one
]
type optional
=[
|
get
|
map
|
at_most_one
]
type optional_getter
=[
|
get
|
at_most_one
]
type variant
=[
|
get
|
map
|
at_most_one
|
construct
]