Module Accessor_base__.Accessor_tuple2

val fst : ('i -> 'a -> 'b'i -> ('a * 'c) -> 'b * 'c[< Accessor_base__.Import.field ]) Accessor_base__.Import.Accessor.t

Access the first component of a tuple.

val snd : ('i -> 'a -> 'b'i -> ('c * 'a) -> 'c * 'b[< Accessor_base__.Import.field ]) Accessor_base__.Import.Accessor.t

Access the second component of a tuple.

val fsti : (('i * 'it) -> 'a -> 'b'it -> ('a * 'i) -> 'b * 'i[< Accessor_base__.Import.field ]) Accessor_base__.Import.Accessor.t
val sndi : (('i * 'it) -> 'a -> 'b'it -> ('i * 'a) -> 'i * 'b[< Accessor_base__.Import.field ]) Accessor_base__.Import.Accessor.t
val swap : ('i -> ('a * 'b) -> 'c * 'd'i -> ('b * 'a) -> 'd * 'c[< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t

Access a tuple where the components are swapped with each other.

val assocl : ('i -> (('a * 'b) * 'c) -> ('d * 'e) * 'f'i -> ('a * ('b * 'c)) -> 'd * ('e * 'f)[< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t
val assocr : ('i -> ('a * ('b * 'c)) -> 'd * ('e * 'f)'i -> (('a * 'b) * 'c) -> ('d * 'e) * 'f[< Accessor_base__.Import.isomorphism ]) Accessor_base__.Import.Accessor.t
val each : ('i -> 'a -> 'b'i -> ('a * 'a) -> 'b * 'b[< Accessor_base__.Import.nonempty ]) Accessor_base__.Import.Accessor.t

Access both components of a tuple.

module Fst : Accessor_base__.Import.Accessor.Functor.S2 with type ('fst, 'snd) t := 'fst * 'snd
module Snd : Accessor_base__.Import.Accessor.Functor.S2 with type ('snd, 'fst) t := 'fst * 'snd