Module Relude_ArrayZipper

include { ... };
type t('a) = Relude_SequenceZipper.WithSequence(Relude_Sequence.Array).t('a) =
| Zipper(Relude_Sequence.Array.t('a), 'a, Relude_Sequence.Array.t('a))
;
let make: Relude_Sequence.Array.t('a) => 'a => Relude_Sequence.Array.t('a) => t('a);
let makeWithLeft: Relude_Sequence.Array.t('a) => 'a => t('a);
let makeWithRight: 'a => Relude_Sequence.Array.t('a) => t('a);
let makeWithRightArray: 'a => array('a) => t('a);
let makeWithRightList: 'a => list('a) => t('a);
let makeWithFocus: 'a => t('a);
let fromSequence: Relude_Sequence.Array.t('a) => option(t('a));
let fromArray: array('a) => option(t('a));
let fromList: list('a) => option(t('a));
let fromNonEmptyArray: Relude_NonEmpty.Array.t('a) => t('a);
let fromNea: Relude_NonEmpty.Array.t('a) => t('a);
let fromNonEmptyList: Relude_NonEmpty.List.t('a) => t('a);
let fromNel: Relude_NonEmpty.List.t('a) => t('a);
let map: ('a => 'b) => t('a) => t('b);
module Functor: { ... };
module BsFunctorExtensions: { ... };
let flipMap: Functor.t('a) => ('a => 'b) => Functor.t('b);
let void: Functor.t('a) => Functor.t(unit);
let voidRight: 'a => Functor.t('b) => Functor.t('a);
let voidLeft: Functor.t('a) => 'b => Functor.t('b);
let flap: Functor.t(('a => 'b)) => 'a => Functor.t('b);
let apply: t(('a => 'b)) => t('a) => t('b);
module Apply: { ... };
module BsApplyExtensions: { ... };
let applyFirst: Apply.t('a) => Apply.t('b) => Apply.t('a);
let applySecond: Apply.t('a) => Apply.t('b) => Apply.t('b);
let map2: ('a => 'b => 'c) => Apply.t('a) => Apply.t('b) => Apply.t('c);
let map3: ('a => 'b => 'c => 'd) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d);
let map4: ('a => 'b => 'c => 'd => 'e) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e);
let map5: ('a => 'b => 'c => 'd => 'e => 'f) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e) => Apply.t('f);
let tuple2: Apply.t('a) => Apply.t('b) => Apply.t(('a, 'b));
let tuple3: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t(('a, 'b, 'c));
let tuple4: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t(('a, 'b, 'c, 'd));
let tuple5: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e) => Apply.t(('a, 'b, 'c, 'd, 'e));
let mapTuple2: ('a => 'b => 'c) => (Apply.t('a), Apply.t('b)) => Apply.t('c);
let mapTuple3: ('a => 'b => 'c => 'd) => (Apply.t('a), Apply.t('b), Apply.t('c)) => Apply.t('d);
let mapTuple4: ('a => 'b => 'c => 'd => 'e) => (Apply.t('a), Apply.t('b), Apply.t('c), Apply.t('d)) => Apply.t('e);
let mapTuple5: ('a => 'b => 'c => 'd => 'e => 'f) => (Apply.t('a), Apply.t('b), Apply.t('c), Apply.t('d), Apply.t('e)) => Apply.t('f);
let pure: 'a => t('a);
module Applicative: { ... };
module BsApplicativeExtensions: { ... };
let liftA1: ('a => 'b) => Applicative.t('a) => Applicative.t('b);
let when_: bool => Applicative.t(unit) => Applicative.t(unit);
let unless: bool => Applicative.t(unit) => Applicative.t(unit);
let foldLeft: ('b => 'a => 'b) => 'b => t('a) => 'b;
let foldRight: ('a => 'b => 'b) => 'b => t('a) => 'b;
module Foldable: { ... };
module BsFoldableExtensions: { ... };
let any: ('a => bool) => Foldable.t('a) => bool;
let all: ('a => bool) => Foldable.t('a) => bool;
let containsBy: ('a => 'a => bool) => 'a => Foldable.t('a) => bool;
let contains: (module BsBastet.Interface.EQ with type t = 'a) => 'a => Foldable.t('a) => bool;
let indexOfBy: ('a => 'a => bool) => 'a => Foldable.t('a) => option(int);
let indexOf: (module BsBastet.Interface.EQ with type t = 'a) => 'a => Foldable.t('a) => option(int);
let minBy: ('a => 'a => BsBastet.Interface.ordering) => Foldable.t('a) => option('a);
let min: (module BsBastet.Interface.ORD with type t = 'a) => Foldable.t('a) => option('a);
let maxBy: ('a => 'a => BsBastet.Interface.ordering) => Foldable.t('a) => option('a);
let max: (module BsBastet.Interface.ORD with type t = 'a) => Foldable.t('a) => option('a);
let countBy: ('a => bool) => Foldable.t('a) => int;
let length: Foldable.t('a) => int;
let size: Foldable.t('a) => int;
let count: Foldable.t('a) => int;
let forEach: ('a => unit) => Foldable.t('a) => unit;
let forEachWithIndex: ('a => int => unit) => Foldable.t('a) => unit;
let find: ('a => bool) => Foldable.t('a) => option('a);
let findWithIndex: ('a => int => bool) => Foldable.t('a) => option('a);
module FoldableSemigroupExtensions: (S: BsBastet.Interface.SEMIGROUP) => { ... };
module FoldableMonoidExtensions: (M: BsBastet.Interface.MONOID) => { ... };
let foldMap: (module BsBastet.Interface.MONOID with type t = 'a) => ('b => 'a) => Foldable.t('b) => 'a;
let foldWithMonoid: (module BsBastet.Interface.MONOID with type t = 'a) => Foldable.t('a) => 'a;
let intercalate: (module BsBastet.Interface.MONOID with type t = 'a) => 'a => Foldable.t('a) => 'a;
module FoldableApplicativeExtensions: (A: BsBastet.Interface.APPLICATIVE) => { ... };
module FoldableMonadExtensions: (M: BsBastet.Interface.MONAD) => { ... };
module FoldableEqExtensions: (E: BsBastet.Interface.EQ) => { ... };
module FoldableOrdExtensions: (O: BsBastet.Interface.ORD) => { ... };
module type TRAVERSABLE_F = (A: BsBastet.Interface.APPLICATIVE) => { ... };
module Traversable: (A: BsBastet.Interface.APPLICATIVE) => { ... };
let toSequence: t('a) => Relude_Sequence.Array.t('a);
let toArray: t('a) => array('a);
let toList: t('a) => list('a);
let toNonEmptyArray: t('a) => Relude_NonEmpty.Array.t('a);
let toNea: t('a) => Relude_NonEmpty.Array.t('a);
let toNonEmptyList: t('a) => Relude_NonEmpty.List.t('a);
let toNel: t('a) => Relude_NonEmpty.List.t('a);
let concatWithKeepLeftFocus: prefix:t('a) => t('a) => t('a);
let concat: prefix:t('a) => t('a) => t('a);
let concatWithKeepRightFocus: prefix:t('a) => t('a) => t('a);
module Semigroup_Any: { ... };
let reverse: t('a) => t('a);
let zipWith: ('a => 'b => 'c) => t('a) => t('b) => t('c);
let zip: t('a) => t('b) => t(('a, 'b));
let zipWithIndex: t('a) => t(('a, int));
let getFocus: t('a) => 'a;
let setFocusBy: ('a => 'a) => t('a) => t('a);
let setFocus: 'a => t('a) => t('a);
let getLeft: t('a) => Relude_Sequence.Array.t('a);
let setLeft: Relude_Sequence.Array.t('a) => t('a) => t('a);
let getLeftInOrder: t('a) => Relude_Sequence.Array.t('a);
let setLeftFromInOrder: Relude_Sequence.Array.t('a) => t('a) => t('a);
let getRight: t('a) => Relude_Sequence.Array.t('a);
let setRight: Relude_Sequence.Array.t('a) => t('a) => t('a);
let peekLeft: t('a) => option('a);
let peekRight: t('a) => option('a);
let isAtStart: t('a) => bool;
let isAtEnd: t('a) => bool;
let isAtIndex: int => t('a) => bool;
let isAtItemBy: ('a => 'a => bool) => 'a => t('a) => bool;
let isAtItem: (module BsBastet.Interface.EQ with type t = 'a) => 'a => t('a) => bool;
let moveLeft: t('a) => option(t('a));
let moveRight: t('a) => option(t('a));
let moveLeftWithClamp: t('a) => t('a);
let moveRightWithClamp: t('a) => t('a);
let moveStart: t('a) => t('a);
let moveEnd: t('a) => t('a);
let moveLeftWithWrap: t('a) => t('a);
let moveRightWithWrap: t('a) => t('a);
let moveLeftTimes: int => t('a) => option(t('a));
let moveRightTimes: int => t('a) => option(t('a));
let moveLeftTimesWithClamp: int => t('a) => t('a);
let moveRightTimesWithClamp: int => t('a) => t('a);
let moveToIndex: int => t('a) => option(t('a));
let moveToIndexWithMod: int => t('a) => t('a);
let moveToIndexWithClamp: int => t('a) => t('a);
let findLeftBy: ?⁠checkFocus:bool => ('a => bool) => t('a) => Relude_Option.Monad.t(t('a));
let findRightBy: ?⁠checkFocus:bool => ('a => bool) => t('a) => Relude_Option.Monad.t(t('a));
let findBy: ?⁠checkFocus:bool => ('a => bool) => t('a) => option(t('a));
let findItemLeftBy: ?⁠checkFocus:bool => ('a => 'a => bool) => 'a => t('a) => option(t('a));
let findItemRightBy: ?⁠checkFocus:bool => ('a => 'a => bool) => 'a => t('a) => option(t('a));
let findItemBy: ?⁠checkFocus:bool => ('a => 'a => bool) => 'a => t('a) => option(t('a));
let findItemLeft: (module BsBastet.Interface.EQ with type t = 'a) => ?⁠checkFocus:bool => 'a => t('a) => option(t('a));
let findItemRight: (module BsBastet.Interface.EQ with type t = 'a) => ?⁠checkFocus:bool => 'a => t('a) => option(t('a));
let findItem: (module BsBastet.Interface.EQ with type t = 'a) => ?⁠checkFocus:bool => 'a => t('a) => option(t('a));
let insertWithPushLeft: 'a => t('a) => t('a);
let insertWithPushRight: 'a => t('a) => t('a);
let deleteWithPullLeft: t('a) => option(t('a));
let deleteWithPullRight: t('a) => option(t('a));
let deleteWithPullLeftOrRight: t('a) => option(t('a));
let showBy: ('a => string) => t('a) => string;
let show: (module BsBastet.Interface.SHOW with type t = 'a) => t('a) => string;
module Show: (ShowA: BsBastet.Interface.SHOW) => { ... };
let eqBy: ('a => 'a => bool) => t('a) => t('a) => bool;
let eq: (module BsBastet.Interface.EQ with type t = 'a) => t('a) => t('a) => bool;
module Eq: (EqA: BsBastet.Interface.EQ) => { ... };
module Infix: { ... };