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
]