This file is indexed.

/usr/share/doc/libghc-lens-doc/html/Control-Lens-Fold.html is in libghc-lens-doc 4.15.4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Control.Lens.Fold</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Lens-Fold.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Fold.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">lens-4.15.4: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(C) 2012-16 Edward Kmett</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Edward Kmett &lt;ekmett@gmail.com&gt;</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>Rank2Types</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Control.Lens.Fold</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Folds</a></li><li><a href="#g:2">Getting Started</a><ul><li><a href="#g:3">Building Folds</a></li><li><a href="#g:4">Folding</a></li></ul></li><li><a href="#g:5">Indexed Folds</a><ul><li><a href="#g:6">Indexed Folding</a></li><li><a href="#g:7">Building Indexed Folds</a></li></ul></li><li><a href="#g:8">Internal types</a></li><li><a href="#g:9">Fold with Reified Monoid</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> is a generalization of something <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code>. It allows
 you to extract multiple results from a container. A <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> container
 can be characterized by the behavior of
 <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldMap">foldMap</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> t, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m) =&gt; (a -&gt; m) -&gt; t a -&gt; m</code>.
 Since we want to be able to work with monomorphic containers, we could
 generalize this signature to <code>forall m. <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; (a -&gt; m) -&gt; s -&gt; m</code>,
 and then decorate it with <code><a href="Control-Lens-Getter.html#t:Const">Const</a></code> to obtain</p><pre>type <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a = forall m. <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> m s a</pre><p>Every <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> is a valid <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that simply doesn't use the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code>
 it is passed.</p><p>In practice the type we use is slightly more complicated to allow for
 better error messages and for it to be transformed by certain
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> transformers.</p><p>Everything you can do with a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> container, you can with with a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> and there are
 combinators that generalize the usual <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> operations here.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:Fold">Fold</a> s a = <span class="keyword">forall</span> f. (<a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; f a) -&gt; s -&gt; f s</li><li class="src short"><span class="keyword">type</span> <a href="#t:IndexedFold">IndexedFold</a> i s a = <span class="keyword">forall</span> p f. (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; p a (f a) -&gt; s -&gt; f s</li><li class="src short"><a href="#v:-94-..">(^..)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; [a]</li><li class="src short"><a href="#v:-94--63-">(^?)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:-94--63--33-">(^?!)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a) s a -&gt; a</li><li class="src short"><a href="#v:pre">pre</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:ipre">ipre</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:preview">preview</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:previews">previews</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:ipreview">ipreview</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:ipreviews">ipreviews</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:preuse">preuse</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:preuses">preuses</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:ipreuse">ipreuse</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:ipreuses">ipreuses</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:has">has</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:hasn-39-t">hasn't</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:folding">folding</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; (s -&gt; f a) -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a</li><li class="src short"><a href="#v:ifolding">ifolding</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> g) =&gt; (s -&gt; f (i, a)) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p g s t a b</li><li class="src short"><a href="#v:foldring">foldring</a> :: (<a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; ((a -&gt; f a -&gt; f a) -&gt; f a -&gt; s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b</li><li class="src short"><a href="#v:ifoldring">ifoldring</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; ((i -&gt; a -&gt; f a -&gt; f a) -&gt; f a -&gt; s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a b</li><li class="src short"><a href="#v:folded">folded</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> (f a) a</li><li class="src short"><a href="#v:folded64">folded64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> (f a) a</li><li class="src short"><a href="#v:unfolded">unfolded</a> :: (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> b a</li><li class="src short"><a href="#v:iterated">iterated</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; (a -&gt; a) -&gt; <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> f a a</li><li class="src short"><a href="#v:filtered">filtered</a> :: (<a href="Control-Lens-Prism.html#t:Choice">Choice</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optic-39-">Optic'</a> p f a a</li><li class="src short"><a href="#v:backwards">backwards</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q) =&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f) s t a b -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a b</li><li class="src short"><a href="#v:repeated">repeated</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> f a a</li><li class="src short"><a href="#v:replicated">replicated</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a</li><li class="src short"><a href="#v:cycled">cycled</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b</li><li class="src short"><a href="#v:takingWhile">takingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="Control-Lens-Internal-Magma.html#t:TakingWhile">TakingWhile</a> p f a a) s t a a -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a a</li><li class="src short"><a href="#v:droppingWhile">droppingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) f) s t a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a a</li><li class="src short"><a href="#v:worded">worded</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> f <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:lined">lined</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> f <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:foldMapOf">foldMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> r s a -&gt; (a -&gt; r) -&gt; s -&gt; r</li><li class="src short"><a href="#v:foldOf">foldOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldrOf">foldrOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:foldlOf">foldlOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:toListOf">toListOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; s -&gt; [a]</li><li class="src short"><a href="#v:toNonEmptyOf">toNonEmptyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:NonEmptyDList">NonEmptyDList</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a</li><li class="src short"><a href="#v:anyOf">anyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:allOf">allOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:noneOf">noneOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:andOf">andOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:orOf">orOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:productOf">productOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a)) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:sumOf">sumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a)) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:traverseOf_">traverseOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; (a -&gt; f r) -&gt; s -&gt; f ()</li><li class="src short"><a href="#v:forOf_">forOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; (a -&gt; f r) -&gt; f ()</li><li class="src short"><a href="#v:sequenceAOf_">sequenceAOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f) s (f a) -&gt; s -&gt; f ()</li><li class="src short"><a href="#v:mapMOf_">mapMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; (a -&gt; m r) -&gt; s -&gt; m ()</li><li class="src short"><a href="#v:forMOf_">forMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; (a -&gt; m r) -&gt; m ()</li><li class="src short"><a href="#v:sequenceOf_">sequenceOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m) s (m a) -&gt; s -&gt; m ()</li><li class="src short"><a href="#v:asumOf">asumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (f a)) s (f a) -&gt; s -&gt; f a</li><li class="src short"><a href="#v:msumOf">msumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m a)) s (m a) -&gt; s -&gt; m a</li><li class="src short"><a href="#v:concatMapOf">concatMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s a -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]</li><li class="src short"><a href="#v:concatOf">concatOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s [r] -&gt; s -&gt; [r]</li><li class="src short"><a href="#v:elemOf">elemOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notElemOf">notElemOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:lengthOf">lengthOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:nullOf">nullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notNullOf">notNullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:firstOf">firstOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:first1Of">first1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:First">First</a> a) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:lastOf">lastOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:last1Of">last1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Last">Last</a> a) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:maximumOf">maximumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:maximum1Of">maximum1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Max">Max</a> a) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:minimumOf">minimumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:minimum1Of">minimum1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Min">Min</a> a) s a -&gt; s -&gt; a</li><li class="src short"><a href="#v:maximumByOf">maximumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:minimumByOf">minimumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findOf">findOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findMOf">findMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:foldrOf-39-">foldrOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r))) s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:foldlOf-39-">foldlOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:foldr1Of">foldr1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldl1Of">foldl1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldr1Of-39-">foldr1Of'</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldl1Of-39-">foldl1Of'</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldrMOf">foldrMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r))) s a -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r</li><li class="src short"><a href="#v:foldlMOf">foldlMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r)) s a -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r</li><li class="src short"><a href="#v:lookupOf">lookupOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> k =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> v)) s (k, v) -&gt; k -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> v</li><li class="src short"><a href="#v:-94--64-..">(^@..)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; [(i, a)]</li><li class="src short"><a href="#v:-94--64--63-">(^@?)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)</li><li class="src short"><a href="#v:-94--64--63--33-">(^@?!)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (i, a)) s a -&gt; (i, a)</li><li class="src short"><a href="#v:ifoldMapOf">ifoldMapOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i m s a -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m</li><li class="src short"><a href="#v:ifoldrOf">ifoldrOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:ifoldlOf">ifoldlOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:ianyOf">ianyOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:iallOf">iallOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:inoneOf">inoneOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:itraverseOf_">itraverseOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f ()</li><li class="src short"><a href="#v:iforOf_">iforOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f ()</li><li class="src short"><a href="#v:imapMOf_">imapMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m ()</li><li class="src short"><a href="#v:iforMOf_">iforMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m ()</li><li class="src short"><a href="#v:iconcatMapOf">iconcatMapOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i [r] s a -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r]</li><li class="src short"><a href="#v:ifindOf">ifindOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:ifindMOf">ifindMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (i -&gt; a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:ifoldrOf-39-">ifoldrOf'</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; r))) s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:ifoldlOf-39-">ifoldlOf'</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; r)) s a -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r</li><li class="src short"><a href="#v:ifoldrMOf">ifoldrMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r))) s a -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r</li><li class="src short"><a href="#v:ifoldlMOf">ifoldlMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r)) s a -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r</li><li class="src short"><a href="#v:itoListOf">itoListOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; s -&gt; [(i, a)]</li><li class="src short"><a href="#v:elemIndexOf">elemIndexOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> i) s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> i</li><li class="src short"><a href="#v:elemIndicesOf">elemIndicesOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [i]) s a -&gt; a -&gt; s -&gt; [i]</li><li class="src short"><a href="#v:findIndexOf">findIndexOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> i) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> i</li><li class="src short"><a href="#v:findIndicesOf">findIndicesOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [i]) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; [i]</li><li class="src short"><a href="#v:ifiltered">ifiltered</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> p (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) f a a</li><li class="src short"><a href="#v:itakingWhile">itakingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) q (<a href="Control-Lens-Getter.html#t:Const">Const</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s))) s a -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> p q f s a</li><li class="src short"><a href="#v:idroppingWhile">idroppingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) f) s t a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a a</li><li class="src short"><span class="keyword">data</span> <a href="#t:Leftmost">Leftmost</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:Rightmost">Rightmost</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:Traversed">Traversed</a> a f</li><li class="src short"><span class="keyword">data</span> <a href="#t:Sequenced">Sequenced</a> a m</li><li class="src short"><a href="#v:foldBy">foldBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> t =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; t a -&gt; a</li><li class="src short"><a href="#v:foldByOf">foldByOf</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a</li><li class="src short"><a href="#v:foldMapBy">foldMapBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> t =&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; t a -&gt; r</li><li class="src short"><a href="#v:foldMapByOf">foldMapByOf</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r</li></ul></div><div id="interface"><h1 id="g:1">Folds</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Fold" class="def">Fold</a> s a = <span class="keyword">forall</span> f. (<a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; f a) -&gt; s -&gt; f s <a href="src/Control-Lens-Type.html#Fold" class="link">Source</a> <a href="#t:Fold" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> describes how to retrieve multiple values in a way that can be composed
 with other <code><a href="Control-Lens-Type.html#t:LensLike">LensLike</a></code> constructions.</p><p>A <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> provides a structure with operations very similar to those of the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:Foldable">Foldable</a></code>
 typeclass, see <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> and the other <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> combinators.</p><p>By convention, if there exists a <code>foo</code> method that expects a <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:Foldable">Foldable</a></code> (f a)</code>, then there should be a
 <code>fooOf</code> method that takes a <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> and a value of type <code>s</code>.</p><p>A <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> is a legal <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that just ignores the supplied <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#v:Monoid">Monoid</a></code>.</p><p>Unlike a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is read-only. Since a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> cannot be used to write back
 there are no <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> laws that apply.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:IndexedFold" class="def">IndexedFold</a> i s a = <span class="keyword">forall</span> p f. (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; p a (f a) -&gt; s -&gt; f s <a href="src/Control-Lens-Type.html#IndexedFold" class="link">Source</a> <a href="#t:IndexedFold" class="selflink">#</a></p><div class="doc"><p>Every <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> is a valid <code><a href="Control-Lens-Fold.html#v:Fold">Fold</a></code> and can be used for <code><a href="Control-Lens-Getter.html#v:Getting">Getting</a></code>.</p></div></div><h1 id="g:2">Getting Started</h1><div class="top"><p class="src"><a id="v:-94-.." class="def">(^..)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; [a] <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E.." class="link">Source</a> <a href="#v:-94-.." class="selflink">#</a></p><div class="doc"><p>A convenient infix (flipped) version of <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[[1,2],[3]]^..id
</code></strong>[[[1,2],[3]]]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[[1,2],[3]]^..traverse
</code></strong>[[1,2],[3]]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[[1,2],[3]]^..traverse.traverse
</code></strong>[1,2,3]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>(1,2)^..both
</code></strong>[1,2]
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:toList">toList</a></code> xs &#8801; xs <code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>
</pre><pre>(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; <a href="'^..'">a</a> :: s -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; <a href="'^..'">a</a> :: s -&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; <a href="'^..'">a</a> :: s -&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; <a href="'^..'">a</a> :: s -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; <a href="'^..'">a</a> :: s -&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; [a]
</pre></div></div><div class="top"><p class="src"><a id="v:-94--63-" class="def">(^?)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%3F" class="link">Source</a> <a href="#v:-94--63-" class="selflink">#</a></p><div class="doc"><p>Perform a safe <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:head">head</a></code> of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.</p><p>When using a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> as a partial <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, or a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> as a partial <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> this can be a convenient
 way to extract the optional value.</p><p>Note: if you get stack overflows due to this, you may want to use <code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> instead, which can deal
 more gracefully with heavily left-biased trees.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>Left 4 ^?_Left
</code></strong>Just 4
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>Right 4 ^?_Left
</code></strong>Nothing
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>&quot;world&quot; ^? ix 3
</code></strong>Just 'l'
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>&quot;world&quot; ^? ix 20
</code></strong>Nothing
</pre><pre>(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code>
</pre><pre>(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:-94--63--33-" class="def">(^?!)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a) s a -&gt; a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%3F%21" class="link">Source</a> <a href="#v:-94--63--33-" class="selflink">#</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:head">head</a></code> of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> assuming that it is there.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>Left 4 ^?! _Left
</code></strong>4
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>&quot;world&quot; ^?! ix 3
</code></strong>'l'
</pre><pre>(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:pre" class="def">pre</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Control-Lens-Fold.html#pre" class="link">Source</a> <a href="#v:pre" class="selflink">#</a></p><div class="doc"><p>This converts a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> to a <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> that returns the first element, if it
 exists, as a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code>.</p><pre><code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:pre">pre</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a id="v:ipre" class="def">ipre</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)) <a href="src/Control-Lens-Fold.html#ipre" class="link">Source</a> <a href="#v:ipre" class="selflink">#</a></p><div class="doc"><p>This converts an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> to an <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> that returns the first index
 and element, if they exist, as a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code>.</p><pre><code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a id="v:preview" class="def">preview</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Control-Lens-Fold.html#preview" class="link">Source</a> <a href="#v:preview" class="selflink">#</a></p><div class="doc"><p>Retrieve the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>). See also (<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>).</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:listToMaybe">listToMaybe</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:toList">toList</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>This is usually applied in the <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> <code>(-&gt;) s</code>.</p><pre><code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> = <code><a href="Control-Lens-Getter.html#v:view">view</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:pre">pre</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre><p>However, it may be useful to think of its full generality when working with
 a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> transformer stack:</p><pre><code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a id="v:previews" class="def">previews</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r) <a href="src/Control-Lens-Fold.html#previews" class="link">Source</a> <a href="#v:previews" class="selflink">#</a></p><div class="doc"><p>Retrieve a function of the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or
 <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>).</p><p>This is usually applied in the <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> <code>(-&gt;) s</code>.</p></div></div><div class="top"><p class="src"><a id="v:ipreview" class="def">ipreview</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)) <a href="src/Control-Lens-Fold.html#ipreview" class="link">Source</a> <a href="#v:ipreview" class="selflink">#</a></p><div class="doc"><p>Retrieve the first index and value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>). See also (<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>).</p><pre><code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> = <code><a href="Control-Lens-Getter.html#v:view">view</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code>
</pre><p>This is usually applied in the <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> <code>(-&gt;) s</code>.</p><pre><code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
</pre><p>However, it may be useful to think of its full generality when working with
 a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> transformer stack:</p><pre><code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> s a     -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> s a      -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> s a -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a id="v:ipreviews" class="def">ipreviews</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r) <a href="src/Control-Lens-Fold.html#ipreviews" class="link">Source</a> <a href="#v:ipreviews" class="selflink">#</a></p><div class="doc"><p>Retrieve a function of the first index and value targeted by an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or
 <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result from an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>).
 See also (<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>).</p><pre><code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> = <code><a href="Control-Lens-Getter.html#v:views">views</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code>
</pre><p>This is usually applied in the <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> <code>(-&gt;) s</code>.</p><pre><code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r
</pre><p>However, it may be useful to think of its full generality when working with
 a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#v:Monad">Monad</a></code> transformer stack:</p><pre><code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a id="v:preuse" class="def">preuse</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Control-Lens-Fold.html#preuse" class="link">Source</a> <a href="#v:preuse" class="selflink">#</a></p><div class="doc"><p>Retrieve the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>) into the current state.</p><pre><code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> = <code><a href="Control-Lens-Getter.html#v:use">use</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:pre">pre</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a id="v:preuses" class="def">preuses</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r) <a href="src/Control-Lens-Fold.html#preuses" class="link">Source</a> <a href="#v:preuses" class="selflink">#</a></p><div class="doc"><p>Retrieve a function of the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or
 <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>) into the current state.</p><pre><code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> = <code><a href="Control-Lens-Getter.html#v:uses">uses</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:pre">pre</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a id="v:ipreuse" class="def">ipreuse</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)) <a href="src/Control-Lens-Fold.html#ipreuse" class="link">Source</a> <a href="#v:ipreuse" class="selflink">#</a></p><div class="doc"><p>Retrieve the first index and value targeted by an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the index
 and result from an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>) into the current state.</p><pre><code><a href="Control-Lens-Fold.html#v:ipreuse">ipreuse</a></code> = <code><a href="Control-Lens-Getter.html#v:use">use</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ipreuse">ipreuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreuse">ipreuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreuse">ipreuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
<code><a href="Control-Lens-Fold.html#v:ipreuse">ipreuse</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a id="v:ipreuses" class="def">ipreuses</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r) <a href="src/Control-Lens-Fold.html#ipreuses" class="link">Source</a> <a href="#v:ipreuses" class="selflink">#</a></p><div class="doc"><p>Retrieve a function of the first index and value targeted by an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or
 <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> (or a function of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the index and result from an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code>
 or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>) into the current state.</p><pre><code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> = <code><a href="Control-Lens-Getter.html#v:uses">uses</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:ipre">ipre</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a id="v:has" class="def">has</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#has" class="link">Source</a> <a href="#v:has" class="selflink">#</a></p><div class="doc"><p>Check to see if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> matches 1 or more entries.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>has (element 0) []
</code></strong>False
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>has _Left (Left 12)
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>has _Right (Left 12)
</code></strong>False
</pre><p>This will always return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> for a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>has _1 (&quot;hello&quot;,&quot;world&quot;)
</code></strong>True
</pre><pre><code><a href="Control-Lens-Fold.html#v:has">has</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:has">has</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:has">has</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:has">has</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:has">has</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:hasn-39-t" class="def">hasn't</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#hasn%27t" class="link">Source</a> <a href="#v:hasn-39-t" class="selflink">#</a></p><div class="doc"><p>Check to see if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> has no matches.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>hasn't _Left (Right 12)
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>hasn't _Left (Left 12)
</code></strong>False
</pre></div></div><h2 id="g:3">Building Folds</h2><div class="top"><p class="src"><a id="v:folding" class="def">folding</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; (s -&gt; f a) -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a <a href="src/Control-Lens-Fold.html#folding" class="link">Source</a> <a href="#v:folding" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by lifting an operation that returns a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> result.</p><p>This can be useful to lift operations from <code>Data.List</code> and elsewhere into a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3,4]^..folding tail
</code></strong>[2,3,4]
</pre></div></div><div class="top"><p class="src"><a id="v:ifolding" class="def">ifolding</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> g) =&gt; (s -&gt; f (i, a)) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p g s t a b <a href="src/Control-Lens-Fold.html#ifolding" class="link">Source</a> <a href="#v:ifolding" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:foldring" class="def">foldring</a> :: (<a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; ((a -&gt; f a -&gt; f a) -&gt; f a -&gt; s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b <a href="src/Control-Lens-Fold.html#foldring" class="link">Source</a> <a href="#v:foldring" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by lifting <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr">foldr</a></code> like function.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3,4]^..foldring foldr
</code></strong>[1,2,3,4]
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldring" class="def">ifoldring</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; ((i -&gt; a -&gt; f a -&gt; f a) -&gt; f a -&gt; s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a b <a href="src/Control-Lens-Fold.html#ifoldring" class="link">Source</a> <a href="#v:ifoldring" class="selflink">#</a></p><div class="doc"><p>Obtain <code>FoldWithIndex</code> by lifting <code>ifoldr</code> like function.</p></div></div><div class="top"><p class="src"><a id="v:folded" class="def">folded</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> (f a) a <a href="src/Control-Lens-Fold.html#folded" class="link">Source</a> <a href="#v:folded" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> from any <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> indexed by ordinal position.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>Just 3^..folded
</code></strong>[3]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>Nothing^..folded
</code></strong>[]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[(1,2),(3,4)]^..folded.both
</code></strong>[1,2,3,4]
</pre></div></div><div class="top"><p class="src"><a id="v:folded64" class="def">folded64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> (f a) a <a href="src/Control-Lens-Fold.html#folded64" class="link">Source</a> <a href="#v:folded64" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> from any <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> indexed by ordinal position.</p></div></div><div class="top"><p class="src"><a id="v:unfolded" class="def">unfolded</a> :: (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> b a <a href="src/Control-Lens-Fold.html#unfolded" class="link">Source</a> <a href="#v:unfolded" class="selflink">#</a></p><div class="doc"><p>Build a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that unfolds its values from a seed.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:unfoldr">unfoldr</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:unfolded">unfolded</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>10^..unfolded (\b -&gt; if b == 0 then Nothing else Just (b, b-1))
</code></strong>[10,9,8,7,6,5,4,3,2,1]
</pre></div></div><div class="top"><p class="src"><a id="v:iterated" class="def">iterated</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; (a -&gt; a) -&gt; <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> f a a <a href="src/Control-Lens-Fold.html#iterated" class="link">Source</a> <a href="#v:iterated" class="selflink">#</a></p><div class="doc"><p><code>x <code><a href="Control-Lens-Getter.html#v:-94-.">^.</a></code> <code><a href="Control-Lens-Fold.html#v:iterated">iterated</a></code> f</code> returns an infinite <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> of repeated applications of <code>f</code> to <code>x</code>.</p><pre><code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:iterated">iterated</a></code> f) a &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:iterate">iterate</a></code> f a
</pre><pre><code><a href="Control-Lens-Fold.html#v:iterated">iterated</a></code> :: (a -&gt; a) -&gt; <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> a a
</pre></div></div><div class="top"><p class="src"><a id="v:filtered" class="def">filtered</a> :: (<a href="Control-Lens-Prism.html#t:Choice">Choice</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optic-39-">Optic'</a> p f a a <a href="src/Control-Lens-Fold.html#filtered" class="link">Source</a> <a href="#v:filtered" class="selflink">#</a></p><div class="doc"><p>Obtain an <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that can be composed with to filter another <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>).</p><p>Note: This is <em>not</em> a legal <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, unless you are very careful not to invalidate the predicate on the target.</p><p>Note: This is also <em>not</em> a legal <code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code>, unless you are very careful not to inject a value that matches the predicate.</p><p>As a counter example, consider that given <code>evens = <code><a href="Control-Lens-Fold.html#v:filtered">filtered</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:even">even</a></code></code> the second <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> law is violated:</p><pre><code><a href="Control-Lens-Setter.html#v:over">over</a></code> evens <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:succ">succ</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Setter.html#v:over">over</a></code> evens <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:succ">succ</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#v:-47--61-">/=</a></code> <code><a href="Control-Lens-Setter.html#v:over">over</a></code> evens (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:succ">succ</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:succ">succ</a></code>)
</pre><p>So, in order for this to qualify as a legal <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> you can only use it for actions that preserve the result of the predicate!</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1..10]^..folded.filtered even
</code></strong>[2,4,6,8,10]
</pre><p>This will preserve an index if it is present.</p></div></div><div class="top"><p class="src"><a id="v:backwards" class="def">backwards</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q) =&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f) s t a b -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a b <a href="src/Control-Lens-Fold.html#backwards" class="link">Source</a> <a href="#v:backwards" class="selflink">#</a></p><div class="doc"><p>This allows you to <code><a href="Control-Traversable.html#v:traverse">traverse</a></code> the elements of a pretty much any <code><a href="Control-Lens-Type.html#t:LensLike">LensLike</a></code> construction in the opposite order.</p><p>This will preserve indexes on <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code> types and will give you the elements of a (finite) <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> in the opposite order.</p><p>This has no practical impact on a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>.</p><p><em>NB:</em> To write back through an <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, you want to use <code><a href="Control-Lens-Isomorphic.html#v:from">from</a></code>.
 Similarly, to write back through an <code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code>, you want to use <code><a href="Control-Lens-Review.html#v:re">re</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:repeated" class="def">repeated</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> f a a <a href="src/Control-Lens-Fold.html#repeated" class="link">Source</a> <a href="#v:repeated" class="selflink">#</a></p><div class="doc"><p>Form a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> by repeating the input forever.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:repeat">repeat</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="Control-Lens-Fold.html#v:repeated">repeated</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>timingOut $ 5^..taking 20 repeated
</code></strong>[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
</pre><pre><code><a href="Control-Lens-Fold.html#v:repeated">repeated</a></code> :: <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> a a
</pre></div></div><div class="top"><p class="src"><a id="v:replicated" class="def">replicated</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a <a href="src/Control-Lens-Fold.html#replicated" class="link">Source</a> <a href="#v:replicated" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that replicates its input <code>n</code> times.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:replicate">replicate</a></code> n &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:replicated">replicated</a></code> n)
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>5^..replicated 20
</code></strong>[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
</pre></div></div><div class="top"><p class="src"><a id="v:cycled" class="def">cycled</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b <a href="src/Control-Lens-Fold.html#cycled" class="link">Source</a> <a href="#v:cycled" class="selflink">#</a></p><div class="doc"><p>Transform a non-empty <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> into a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> that loops over its elements over and over.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>timingOut $ [1,2,3]^..taking 7 (cycled traverse)
</code></strong>[1,2,3,1,2,3,1]
</pre><pre><code><a href="Control-Lens-Fold.html#v:cycled">cycled</a></code> :: <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a -&gt; <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a
</pre></div></div><div class="top"><p class="src"><a id="v:takingWhile" class="def">takingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="Control-Lens-Internal-Magma.html#t:TakingWhile">TakingWhile</a> p f a a) s t a a -&gt; <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a a <a href="src/Control-Lens-Fold.html#takingWhile" class="link">Source</a> <a href="#v:takingWhile" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by taking elements from another <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> while a predicate holds.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:takeWhile">takeWhile</a></code> p &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> p <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>)
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>timingOut $ toListOf (takingWhile (&lt;=3) folded) [1..]
</code></strong>[1,2,3]
</pre><pre><code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                         -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a                       -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a                   -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a                        -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a                       -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a                         -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a          -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a               -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a -- * See note below
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a                -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a              -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
</pre><p><em>Note:</em> When applied to a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, <code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> yields something that can be used as if it were a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, but
 which is not a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> per the laws, unless you are careful to ensure that you do not invalidate the predicate when
 writing back through it.</p></div></div><div class="top"><p class="src"><a id="v:droppingWhile" class="def">droppingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) f) s t a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a a <a href="src/Control-Lens-Fold.html#droppingWhile" class="link">Source</a> <a href="#v:droppingWhile" class="selflink">#</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by dropping elements from another <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> while a predicate holds.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:dropWhile">dropWhile</a></code> p &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> p <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>)
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>toListOf (droppingWhile (&lt;=3) folded) [1..6]
</code></strong>[4,5,6]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>toListOf (droppingWhile (&lt;=3) folded) [1,6,1]
</code></strong>[6,1]
</pre><pre><code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                         -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a                       -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a                   -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a                        -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a                       -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a                         -&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a                -- see notes
</pre><pre><code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingTraversal-39-">IndexPreservingTraversal'</a></code> s a    -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingFold">IndexPreservingFold</a></code> s a -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingLens-39-">IndexPreservingLens'</a></code> s a         -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingFold">IndexPreservingFold</a></code> s a -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s a        -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingFold">IndexPreservingFold</a></code> s a
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingFold">IndexPreservingFold</a></code> s a          -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingFold">IndexPreservingFold</a></code> s a
</pre><pre><code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a          -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a               -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -- see notes
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a              -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> :: (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a                -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
</pre><p>Note: Many uses of this combinator will yield something that meets the types, but not the laws of a valid
 <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>. The <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> and <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> laws are only satisfied if the
 new values you assign to the first target also does not pass the predicate! Otherwise subsequent traversals
 will visit fewer elements and <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> fusion is not sound.</p><p>So for any traversal <code>t</code> and predicate <code>p</code>, <code><code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> p t</code> may not be lawful, but
 <code>(<code><a href="Control-Lens-Traversal.html#v:dropping">dropping</a></code> 1 . <code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> p) t</code> is. For example:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let l  :: Traversal' [Int] Int; l  = droppingWhile (&lt;= 1) traverse
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>let l' :: Traversal' [Int] Int; l' = dropping 1 l
</code></strong></pre><p><code>l</code> is not a lawful setter because <code><code><a href="Control-Lens-Setter.html#v:over">over</a></code> l f .
 <code><a href="Control-Lens-Setter.html#v:over">over</a></code> l g &#8802; <code><a href="Control-Lens-Setter.html#v:over">over</a></code> l (f . g)</code>:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3] &amp; l .~ 0 &amp; l .~ 4
</code></strong>[1,0,0]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3] &amp; l .~ 4
</code></strong>[1,4,4]
</pre><p><code>l'</code> on the other hand behaves lawfully:</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3] &amp; l' .~ 0 &amp; l' .~ 4
</code></strong>[1,2,4]
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[1,2,3] &amp; l' .~ 4
</code></strong>[1,2,4]
</pre></div></div><div class="top"><p class="src"><a id="v:worded" class="def">worded</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> f <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="src/Control-Lens-Fold.html#worded" class="link">Source</a> <a href="#v:worded" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> over the individual <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:words">words</a></code> of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>.</p><pre><code><a href="Control-Lens-Fold.html#v:worded">worded</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
<code><a href="Control-Lens-Fold.html#v:worded">worded</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:worded">worded</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
<code><a href="Control-Lens-Fold.html#v:worded">worded</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
</pre><p>Note: This function type-checks as a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> but it doesn't satisfy the laws. It's only valid to use it
 when you don't insert any whitespace characters while traversing, and if your original <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> contains only
 isolated space characters (and no other characters that count as space, such as non-breaking spaces).</p></div></div><div class="top"><p class="src"><a id="v:lined" class="def">lined</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> f <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> <a href="src/Control-Lens-Fold.html#lined" class="link">Source</a> <a href="#v:lined" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> over the individual <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:lines">lines</a></code> of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>.</p><pre><code><a href="Control-Lens-Fold.html#v:lined">lined</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
<code><a href="Control-Lens-Fold.html#v:lined">lined</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:lined">lined</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
<code><a href="Control-Lens-Fold.html#v:lined">lined</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code>
</pre><p>Note: This function type-checks as a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> but it doesn't satisfy the laws. It's only valid to use it
 when you don't insert any newline characters while traversing, and if your original <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a></code> contains only
 isolated newline characters.</p></div></div><h2 id="g:4">Folding</h2><div class="top"><p class="src"><a id="v:foldMapOf" class="def">foldMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> r s a -&gt; (a -&gt; r) -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldMapOf" class="link">Source</a> <a href="#v:foldMapOf" class="selflink">#</a></p><div class="doc"><p>Map each part of a structure viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>,
 <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to a monoid and combine the results.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldMapOf (folded . both . _Just) Sum [(Just 21, Just 21)]
</code></strong>Sum {getSum = 42}
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldMap">foldMap</a></code> = <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> &#8801; <code><a href="Control-Lens-Getter.html#v:views">views</a></code>
<code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> l = <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> ::                <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r    =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a        -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code>Semigroup</code> r =&gt; <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> ::                <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> ::                <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r    =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a  -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code>Semigroup</code> r =&gt; <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r    =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a      -&gt; (a -&gt; r) -&gt; s -&gt; r
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> r s a -&gt; (a -&gt; r) -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:foldOf" class="def">foldOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldOf" class="link">Source</a> <a href="#v:foldOf" class="selflink">#</a></p><div class="doc"><p>Combine the elements of a structure viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>,
 <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> using a monoid.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldOf (folded.folded) [[Sum 1,Sum 4],[Sum 8, Sum 8],[Sum 21]]
</code></strong>Sum {getSum = 42}
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:fold">fold</a></code> = <code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> &#8801; <code><a href="Control-Lens-Getter.html#v:view">view</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> ::             <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s m     -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s m       -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> ::             <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s m      -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> ::             <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s m       -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s m -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s m     -&gt; s -&gt; m
</pre></div></div><div class="top"><p class="src"><a id="v:foldrOf" class="def">foldrOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldrOf" class="link">Source</a> <a href="#v:foldrOf" class="selflink">#</a></p><div class="doc"><p>Right-associative fold of parts of a structure that are viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr">foldr</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a></code> r) s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:foldlOf" class="def">foldlOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldlOf" class="link">Source</a> <a href="#v:foldlOf" class="selflink">#</a></p><div class="doc"><p>Left-associative fold of the parts of a structure that are viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldl">foldl</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:toListOf" class="def">toListOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; s -&gt; [a] <a href="src/Control-Lens-Fold.html#toListOf" class="link">Source</a> <a href="#v:toListOf" class="selflink">#</a></p><div class="doc"><p>Extract a list of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>. See also (<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>).</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:toList">toList</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:toNonEmptyOf" class="def">toNonEmptyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:NonEmptyDList">NonEmptyDList</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> a <a href="src/Control-Lens-Fold.html#toNonEmptyOf" class="link">Source</a> <a href="#v:toNonEmptyOf" class="selflink">#</a></p><div class="doc"><p>Extract a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a></code> of the targets of <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>toNonEmptyOf both1 (&quot;hello&quot;, &quot;world&quot;)
</code></strong>&quot;hello&quot; :| [&quot;world&quot;]
</pre><pre><code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; s -&gt; NonEmpty a
<code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; s -&gt; NonEmpty a
<code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; s -&gt; NonEmpty a
<code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; s -&gt; NonEmpty a
<code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; s -&gt; NonEmpty a
<code><a href="Control-Lens-Fold.html#v:toNonEmptyOf">toNonEmptyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a      -&gt; s -&gt; NonEmpty a
</pre></div></div><div class="top"><p class="src"><a id="v:anyOf" class="def">anyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#anyOf" class="link">Source</a> <a href="#v:anyOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if any target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> satisfies a predicate.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>anyOf both (=='x') ('x','y')
</code></strong>True
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>import Data.Data.Lens
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>anyOf biplate (== &quot;world&quot;) (((),2::Int),&quot;hello&quot;,(&quot;world&quot;,11::Int))
</code></strong>True
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:any">any</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:allOf" class="def">allOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#allOf" class="link">Source</a> <a href="#v:allOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if every target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> satisfies a predicate.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>allOf both (&gt;=3) (4,5)
</code></strong>True
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>allOf folded (&gt;=2) [1..10]
</code></strong>False
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:all">all</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> l = <code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:noneOf" class="def">noneOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#noneOf" class="link">Source</a> <a href="#v:noneOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> only if no targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> satisfy a predicate.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>noneOf each (is _Nothing) (Just 3, Just 4, Just 5)
</code></strong>True
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>noneOf (folded.folded) (&lt;10) [[13,99,20],[3,71,42]]
</code></strong>False
</pre><pre><code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> l = <code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:andOf" class="def">andOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#andOf" class="link">Source</a> <a href="#v:andOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if every target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>andOf both (True,False)
</code></strong>False
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>andOf both (True,True)
</code></strong>True
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:and">and</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code> -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:orOf" class="def">orOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#orOf" class="link">Source</a> <a href="#v:orOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if any target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>orOf both (True,False)
</code></strong>True
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>orOf both (False,False)
</code></strong>False
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:or">or</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code> -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:productOf" class="def">productOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a)) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#productOf" class="link">Source</a> <a href="#v:productOf" class="selflink">#</a></p><div class="doc"><p>Calculate the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Product">Product</a></code> of every number targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>productOf both (4,5)
</code></strong>20
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>productOf folded [1,2,3,4,5]
</code></strong>120
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:product">product</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>This operation may be more strict than you would expect. If you
 want a lazier version use <code><code>ala</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Product">Product</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code></code></p><pre><code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:sumOf" class="def">sumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> a)) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#sumOf" class="link">Source</a> <a href="#v:sumOf" class="selflink">#</a></p><div class="doc"><p>Calculate the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a></code> of every number targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sumOf both (5,6)
</code></strong>11
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sumOf folded [1,2,3,4]
</code></strong>10
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sumOf (folded.both) [(1,2),(3,4)]
</code></strong>10
<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>import Data.Data.Lens
</code></strong><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sumOf biplate [(1::Int,[]),(2,[(3::Int,4::Int)])] :: Int
</code></strong>10
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:sum">sum</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>This operation may be more strict than you would expect. If you
 want a lazier version use <code><code>ala</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Sum">Sum</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code></code></p><pre><code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> <code>_1</code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; (a, b) -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Tuple.html#v:_1">_1</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a) =&gt; f (a, b) -&gt; a
</pre><pre><code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Num">Num</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:traverseOf_" class="def">traverseOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; (a -&gt; f r) -&gt; s -&gt; f () <a href="src/Control-Lens-Fold.html#traverseOf_" class="link">Source</a> <a href="#v:traverseOf_" class="selflink">#</a></p><div class="doc"><p>Traverse over all of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>), computing an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>)-based answer,
 but unlike <code><a href="Control-Lens-Traversal.html#v:traverseOf">traverseOf</a></code> do not construct a new structure. <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> generalizes
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:traverse_">traverse_</a></code> to work over any <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.</p><p>When passed a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> can work over any <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>, but when passed a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> requires
 an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>traverseOf_ both putStrLn (&quot;hello&quot;,&quot;world&quot;)
</code></strong>hello
world
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:traverse_">traverse_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code>_2</code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f =&gt; (c -&gt; f r) -&gt; (d, c) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code><a href="Control-Lens-Prism.html#v:_Left">_Left</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; (a -&gt; f b) -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a></code> a c -&gt; f ()
</pre><pre><code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><p>The rather specific signature of <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> allows it to be used as if the signature was any of:</p><pre><code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; f r) -&gt; s -&gt; f ()
</pre></div></div><div class="top"><p class="src"><a id="v:forOf_" class="def">forOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; (a -&gt; f r) -&gt; f () <a href="src/Control-Lens-Fold.html#forOf_" class="link">Source</a> <a href="#v:forOf_" class="selflink">#</a></p><div class="doc"><p>Traverse over all of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>), computing an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>)-based answer,
 but unlike <code><a href="Control-Lens-Traversal.html#v:forOf">forOf</a></code> do not construct a new structure. <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> generalizes
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:for_">for_</a></code> to work over any <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.</p><p>When passed a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> can work over any <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>, but when passed a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> requires
 an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:for_">for_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>forOf_ both (&quot;hello&quot;,&quot;world&quot;) putStrLn
</code></strong>hello
world
</pre><p>The rather specific signature of <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> allows it to be used as if the signature was any of:</p><pre><code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> l s &#8801; <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> l s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; s -&gt; (a -&gt; f r) -&gt; f ()
</pre></div></div><div class="top"><p class="src"><a id="v:sequenceAOf_" class="def">sequenceAOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f) s (f a) -&gt; s -&gt; f () <a href="src/Control-Lens-Fold.html#sequenceAOf_" class="link">Source</a> <a href="#v:sequenceAOf_" class="selflink">#</a></p><div class="doc"><p>Evaluate each action in observed by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on a structure from left to right, ignoring the results.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:sequenceA_">sequenceA_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sequenceAOf_ both (putStrLn &quot;hello&quot;,putStrLn &quot;world&quot;)
</code></strong>hello
world
</pre><pre><code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s (f a)     -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (f a)       -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s (f a)      -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s (f a)       -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s (f a) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s (f a)     -&gt; s -&gt; f ()
</pre></div></div><div class="top"><p class="src"><a id="v:mapMOf_" class="def">mapMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; (a -&gt; m r) -&gt; s -&gt; m () <a href="src/Control-Lens-Fold.html#mapMOf_" class="link">Source</a> <a href="#v:mapMOf_" class="selflink">#</a></p><div class="doc"><p>Map each target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on a structure to a monadic action, evaluate these actions from left to right, and ignore the results.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>mapMOf_ both putStrLn (&quot;hello&quot;,&quot;world&quot;)
</code></strong>hello
world
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:mapM_">mapM_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; (a -&gt; m r) -&gt; s -&gt; m ()
</pre></div></div><div class="top"><p class="src"><a id="v:forMOf_" class="def">forMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; (a -&gt; m r) -&gt; m () <a href="src/Control-Lens-Fold.html#forMOf_" class="link">Source</a> <a href="#v:forMOf_" class="selflink">#</a></p><div class="doc"><p><code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> is <code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> with two of its arguments flipped.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>forMOf_ both (&quot;hello&quot;,&quot;world&quot;) putStrLn
</code></strong>hello
world
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:forM_">forM_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; s -&gt; (a -&gt; m r) -&gt; m ()
</pre></div></div><div class="top"><p class="src"><a id="v:sequenceOf_" class="def">sequenceOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m) s (m a) -&gt; s -&gt; m () <a href="src/Control-Lens-Fold.html#sequenceOf_" class="link">Source</a> <a href="#v:sequenceOf_" class="selflink">#</a></p><div class="doc"><p>Evaluate each monadic action referenced by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on the structure from left to right, and ignore the results.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>sequenceOf_ both (putStrLn &quot;hello&quot;,putStrLn &quot;world&quot;)
</code></strong>hello
world
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:sequence_">sequence_</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s (m a)     -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (m a)       -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s (m a)      -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s (m a)       -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s (m a) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s (m a)     -&gt; s -&gt; m ()
</pre></div></div><div class="top"><p class="src"><a id="v:asumOf" class="def">asumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (f a)) s (f a) -&gt; s -&gt; f a <a href="src/Control-Lens-Fold.html#asumOf" class="link">Source</a> <a href="#v:asumOf" class="selflink">#</a></p><div class="doc"><p>The sum of a collection of actions, generalizing <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>asumOf both (&quot;hello&quot;,&quot;world&quot;)
</code></strong>&quot;helloworld&quot;
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>asumOf each (Nothing, Just &quot;hello&quot;, Nothing)
</code></strong>Just &quot;hello&quot;
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:asum">asum</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s (f a)     -&gt; s -&gt; f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (f a)       -&gt; s -&gt; f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s (f a)      -&gt; s -&gt; f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s (f a)       -&gt; s -&gt; f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s (f a) -&gt; s -&gt; f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s (f a)     -&gt; s -&gt; f a
</pre></div></div><div class="top"><p class="src"><a id="v:msumOf" class="def">msumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m a)) s (m a) -&gt; s -&gt; m a <a href="src/Control-Lens-Fold.html#msumOf" class="link">Source</a> <a href="#v:msumOf" class="selflink">#</a></p><div class="doc"><p>The sum of a collection of actions, generalizing <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>msumOf both (&quot;hello&quot;,&quot;world&quot;)
</code></strong>&quot;helloworld&quot;
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>msumOf each (Nothing, Just &quot;hello&quot;, Nothing)
</code></strong>Just &quot;hello&quot;
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:msum">msum</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s (m a)     -&gt; s -&gt; m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (m a)       -&gt; s -&gt; m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s (m a)      -&gt; s -&gt; m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s (m a)       -&gt; s -&gt; m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s (m a) -&gt; s -&gt; m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s (m a)     -&gt; s -&gt; m a
</pre></div></div><div class="top"><p class="src"><a id="v:concatMapOf" class="def">concatMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s a -&gt; (a -&gt; [r]) -&gt; s -&gt; [r] <a href="src/Control-Lens-Fold.html#concatMapOf" class="link">Source</a> <a href="#v:concatMapOf" class="selflink">#</a></p><div class="doc"><p>Map a function over all the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of a container and concatenate the resulting lists.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>concatMapOf both (\x -&gt; [x, x + 1]) (1,3)
</code></strong>[1,2,3,4]
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:concatMap">concatMap</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; [r]) -&gt; s -&gt; [r]
</pre></div></div><div class="top"><p class="src"><a id="v:concatOf" class="def">concatOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s [r] -&gt; s -&gt; [r] <a href="src/Control-Lens-Fold.html#concatOf" class="link">Source</a> <a href="#v:concatOf" class="selflink">#</a></p><div class="doc"><p>Concatenate all of the lists targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> into a longer list.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>concatOf both (&quot;pan&quot;,&quot;ama&quot;)
</code></strong>&quot;panama&quot;
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:concat">concat</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> &#8801; <code><a href="Control-Lens-Getter.html#v:view">view</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s [r]     -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s [r]       -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s [r]       -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s [r]      -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s [r] -&gt; s -&gt; [r]
</pre></div></div><div class="top"><p class="src"><a id="v:elemOf" class="def">elemOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#elemOf" class="link">Source</a> <a href="#v:elemOf" class="selflink">#</a></p><div class="doc"><p>Does the element occur anywhere within a given <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of the structure?</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>elemOf both &quot;hello&quot; (&quot;hello&quot;,&quot;world&quot;)
</code></strong>True
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:elem">elem</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:notElemOf" class="def">notElemOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#notElemOf" class="link">Source</a> <a href="#v:notElemOf" class="selflink">#</a></p><div class="doc"><p>Does the element not occur anywhere within a given <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of the structure?</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notElemOf each 'd' ('a','b','c')
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notElemOf each 'a' ('a','b','c')
</code></strong>False
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:notElem">notElem</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a     -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:lengthOf" class="def">lengthOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>)) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> <a href="src/Control-Lens-Fold.html#lengthOf" class="link">Source</a> <a href="#v:lengthOf" class="selflink">#</a></p><div class="doc"><p>Calculate the number of targets there are for a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> in a given container.</p><p><em>Note:</em> This can be rather inefficient for large containers and just like <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:length">length</a></code>,
 this will not terminate for infinite folds.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:length">length</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lengthOf _1 (&quot;hello&quot;,())
</code></strong>1
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lengthOf traverse [1..10]
</code></strong>10
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lengthOf (traverse.traverse) [[1,2],[3,4],[5,6]]
</code></strong>6
</pre><pre><code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a) -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:nullOf" class="def">nullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#nullOf" class="link">Source</a> <a href="#v:nullOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> has no targets in the given container.</p><p>Note: <code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> on a valid <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> should always return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:null">null</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>This may be rather inefficient compared to the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:null">null</a></code> check of many containers.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>nullOf _1 (1,2)
</code></strong>False
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>nullOf ignored ()
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>nullOf traverse []
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>nullOf (element 20) [1..10]
</code></strong>True
</pre><pre><code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code>_1</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a, b) -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:notNullOf" class="def">notNullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#notNullOf" class="link">Source</a> <a href="#v:notNullOf" class="selflink">#</a></p><div class="doc"><p>Returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code> if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> has any targets in the given container.</p><p>A more &quot;conversational&quot; alias for this combinator is <code><a href="Control-Lens-Fold.html#v:has">has</a></code>.</p><p>Note: <code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> on a valid <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> should always return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:not">not</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:null">null</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>This may be rather inefficient compared to the <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:not">not</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:null">null</a></code></code> check of many containers.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notNullOf _1 (1,2)
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notNullOf traverse [1..10]
</code></strong>True
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notNullOf folded []
</code></strong>False
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>notNullOf (element 20) [1..10]
</code></strong>False
</pre><pre><code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code>_1</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a, b) -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:firstOf" class="def">firstOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#firstOf" class="link">Source</a> <a href="#v:firstOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a></code> entry of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.</p><p>The answer is computed in a manner that leaks space less than <code><code>ala</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code></code>
 and gives you back access to the outermost <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> constructor more quickly, but may have worse
 constant factors.</p><p>Note: this could been named <code>headOf</code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>firstOf traverse [1..10]
</code></strong>Just 1
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>firstOf both (1,2)
</code></strong>Just 1
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>firstOf ignored ()
</code></strong>Nothing
</pre><pre><code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:first1Of" class="def">first1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:First">First</a> a) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#first1Of" class="link">Source</a> <a href="#v:first1Of" class="selflink">#</a></p><div class="doc"><p>Retrieve the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#v:First">First</a></code> entry of a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal1">Traversal1</a></code> or the result from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>first1Of traverse1 (1 :| [2..10])
</code></strong>1
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>first1Of both1 (1,2)
</code></strong>1
</pre><p><em>Note:</em> this is different from <code><a href="Control-Lens-Getter.html#v:-94-.">^.</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>first1Of traverse1 ([1,2] :| [[3,4],[5,6]])
</code></strong>[1,2]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>([1,2] :| [[3,4],[5,6]]) ^. traverse1
</code></strong>[1,2,3,4,5,6]
</pre><pre><code><a href="Control-Lens-Fold.html#v:first1Of">first1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:first1Of">first1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:first1Of">first1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:first1Of">first1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:first1Of">first1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:lastOf" class="def">lastOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#lastOf" class="link">Source</a> <a href="#v:lastOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Last">Last</a></code> entry of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.</p><p>The answer is computed in a manner that leaks space less than <code><code>ala</code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Last">Last</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code></code>
 and gives you back access to the outermost <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> constructor more quickly, but may have worse
 constant factors.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lastOf traverse [1..10]
</code></strong>Just 10
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lastOf both (1,2)
</code></strong>Just 2
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lastOf ignored ()
</code></strong>Nothing
</pre><pre><code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:last1Of" class="def">last1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Last">Last</a> a) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#last1Of" class="link">Source</a> <a href="#v:last1Of" class="selflink">#</a></p><div class="doc"><p>Retrieve the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#v:Last">Last</a></code> entry of a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal1">Traversal1</a></code> or retrieve the result
 from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.o</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>last1Of traverse1 (1 :| [2..10])
</code></strong>10
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>last1Of both1 (1,2)
</code></strong>2
</pre><pre><code><a href="Control-Lens-Fold.html#v:last1Of">last1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:last1Of">last1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:last1Of">last1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:last1Of">last1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:last1Of">last1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:maximumOf" class="def">maximumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#maximumOf" class="link">Source</a> <a href="#v:maximumOf" class="selflink">#</a></p><div class="doc"><p>Obtain the maximum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> safely.</p><p>Note: <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> on a valid <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> will always return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> a value.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>maximumOf traverse [1..10]
</code></strong>Just 10
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>maximumOf traverse []
</code></strong>Nothing
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>maximumOf (folded.filtered even) [1,4,3,6,7,9,2]
</code></strong>Just 6
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:maximum">maximum</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>In the interest of efficiency, This operation has semantics more strict than strictly necessary.
 <code><code><a href="Control-Lens-Iso.html#v:rmap">rmap</a></code> <code><a href="Control-Lens-Internal-Fold.html#v:getMax">getMax</a></code> (<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> l <code><a href="Control-Lens-Internal-Fold.html#t:Max">Max</a></code>)</code> has lazier semantics but could leak memory.</p><pre><code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:maximum1Of" class="def">maximum1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Max">Max</a> a) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#maximum1Of" class="link">Source</a> <a href="#v:maximum1Of" class="selflink">#</a></p><div class="doc"><p>Obtain the maximum element targeted by a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal1">Traversal1</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>maximum1Of traverse1 (1 :| [2..10])
</code></strong>10
</pre><pre><code><a href="Control-Lens-Fold.html#v:maximum1Of">maximum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:maximum1Of">maximum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:maximum1Of">maximum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:maximum1Of">maximum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:maximum1Of">maximum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:minimumOf" class="def">minimumOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#minimumOf" class="link">Source</a> <a href="#v:minimumOf" class="selflink">#</a></p><div class="doc"><p>Obtain the minimum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> safely.</p><p>Note: <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> on a valid <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> will always return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> a value.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>minimumOf traverse [1..10]
</code></strong>Just 1
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>minimumOf traverse []
</code></strong>Nothing
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>minimumOf (folded.filtered even) [1,4,3,6,7,9,2]
</code></strong>Just 2
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:minimum">minimum</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><p>In the interest of efficiency, This operation has semantics more strict than strictly necessary.
 <code><code><a href="Control-Lens-Iso.html#v:rmap">rmap</a></code> <code><a href="Control-Lens-Internal-Fold.html#v:getMin">getMin</a></code> (<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> l <code><a href="Control-Lens-Internal-Fold.html#t:Min">Min</a></code>)</code> has lazier semantics but could leak memory.</p><pre><code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:minimum1Of" class="def">minimum1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Min">Min</a> a) s a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#minimum1Of" class="link">Source</a> <a href="#v:minimum1Of" class="selflink">#</a></p><div class="doc"><p>Obtain the minimum element targeted by a <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal1">Traversal1</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>minimum1Of traverse1 (1 :| [2..10])
</code></strong>1
</pre><pre><code><a href="Control-Lens-Fold.html#v:minimum1Of">minimum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a      -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:minimum1Of">minimum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Fold1">Fold1</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:minimum1Of">minimum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a        -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:minimum1Of">minimum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a       -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:minimum1Of">minimum1Of</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:Traversal1-39-">Traversal1'</a></code> s a -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:maximumByOf" class="def">maximumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#maximumByOf" class="link">Source</a> <a href="#v:maximumByOf" class="selflink">#</a></p><div class="doc"><p>Obtain the maximum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>,
 or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> according to a user supplied <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>maximumByOf traverse (compare `on` length) [&quot;mustard&quot;,&quot;relish&quot;,&quot;ham&quot;]
</code></strong>Just &quot;mustard&quot;
</pre><p>In the interest of efficiency, This operation has semantics more strict than strictly necessary.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:maximumBy">maximumBy</a></code> cmp &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> cmp
</pre><pre><code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:minimumByOf" class="def">minimumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#minimumByOf" class="link">Source</a> <a href="#v:minimumByOf" class="selflink">#</a></p><div class="doc"><p>Obtain the minimum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>
 or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> according to a user supplied <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>.</p><p>In the interest of efficiency, This operation has semantics more strict than strictly necessary.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>minimumByOf traverse (compare `on` length) [&quot;mustard&quot;,&quot;relish&quot;,&quot;ham&quot;]
</code></strong>Just &quot;ham&quot;
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:minimumBy">minimumBy</a></code> cmp &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> cmp
</pre><pre><code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:findOf" class="def">findOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#findOf" class="link">Source</a> <a href="#v:findOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> function takes a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>),
 a predicate and a structure and returns the leftmost element of the structure
 matching the predicate, or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there is no such element.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>findOf each even (1,3,4,6)
</code></strong>Just 4
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>findOf folded even [1,3,5,7]
</code></strong>Nothing
</pre><pre><code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:find">find</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
<code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><p>A simpler version that didn't permit indexing, would be:</p><pre><code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)) s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> l p = <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> l (a y -&gt; if p a then <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> a else y) <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:findMOf" class="def">findMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Control-Lens-Fold.html#findMOf" class="link">Source</a> <a href="#v:findMOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> function takes a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>),
 a monadic predicate and a structure and returns in the monad the leftmost element of the structure
 matching the predicate, or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there is no such element.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>findMOf each ( \x -&gt; print (&quot;Checking &quot; ++ show x) &gt;&gt; return (even x)) (1,3,4,6)
</code></strong>&quot;Checking 1&quot;
&quot;Checking 3&quot;
&quot;Checking 4&quot;
Just 4
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>findMOf each ( \x -&gt; print (&quot;Checking &quot; ++ show x) &gt;&gt; return (even x)) (1,3,5,7)
</code></strong>&quot;Checking 1&quot;
&quot;Checking 3&quot;
&quot;Checking 5&quot;
&quot;Checking 7&quot;
Nothing
</pre><pre><code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m, <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a)     -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a)       -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m, <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a)       -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m, <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a)      -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m, <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a) -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre><pre><code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> :: (Monad m, Foldable f) =&gt; (a -&gt; m Bool) -&gt; f a -&gt; m (Maybe a)
<code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>
</pre><p>A simpler version that didn't permit indexing, would be:</p><pre><code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: Monad m =&gt; <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a></code> (m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a))) s a -&gt; (a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> l p = <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> l (a y -&gt; p a &gt;&gt;= x -&gt; if x then return (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> a) else y) $ return <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:foldrOf-39-" class="def">foldrOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r))) s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldrOf%27" class="link">Source</a> <a href="#v:foldrOf-39-" class="selflink">#</a></p><div class="doc"><p>Strictly fold right over the elements of a structure.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr-39-">foldr'</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:foldlOf-39-" class="def">foldlOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldlOf%27" class="link">Source</a> <a href="#v:foldlOf-39-" class="selflink">#</a></p><div class="doc"><p>Fold over the elements of a structure, associating to the left, but strictly.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldl-39-">foldl'</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:foldr1Of" class="def">foldr1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldr1Of" class="link">Source</a> <a href="#v:foldr1Of" class="selflink">#</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> that has no base case and thus may only be applied
 to lenses and structures such that the <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> views at least one element of
 the structure.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldr1Of each (+) (1,2,3,4)
</code></strong>10
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> l f &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr1">foldr1</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr1">foldr1</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:foldl1Of" class="def">foldl1Of</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldl1Of" class="link">Source</a> <a href="#v:foldl1Of" class="selflink">#</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> that has no base case and thus may only be applied to lenses and structures such
 that the <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> views at least one element of the structure.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldl1Of each (+) (1,2,3,4)
</code></strong>10
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> l f &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldl1">foldl1</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldl1">foldl1</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:foldr1Of-39-" class="def">foldr1Of'</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldr1Of%27" class="link">Source</a> <a href="#v:foldr1Of-39-" class="selflink">#</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> that has no base case and thus may only be applied
 to folds and structures such that the fold views at least one element of the
 structure.</p><pre><code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> l f &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldr1">foldr1</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldr1Of-39-">foldr1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of-39-">foldr1Of'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of-39-">foldr1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of-39-">foldr1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldr1Of-39-">foldr1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:foldl1Of-39-" class="def">foldl1Of'</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldl1Of%27" class="link">Source</a> <a href="#v:foldl1Of-39-" class="selflink">#</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> that has no base case and thus may only be applied
 to folds and structures such that the fold views at least one element of
 the structure.</p><pre><code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> l f &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List.html#v:foldl1-39-">foldl1'</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldl1Of-39-">foldl1Of'</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; a) -&gt; s -&gt; a
</pre></div></div><div class="top"><p class="src"><a id="v:foldrMOf" class="def">foldrMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r))) s a -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r <a href="src/Control-Lens-Fold.html#foldrMOf" class="link">Source</a> <a href="#v:foldrMOf" class="selflink">#</a></p><div class="doc"><p>Monadic fold over the elements of a structure, associating to the right,
 i.e. from right to left.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldrM">foldrM</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
</pre></div></div><div class="top"><p class="src"><a id="v:foldlMOf" class="def">foldlMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r)) s a -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r <a href="src/Control-Lens-Fold.html#foldlMOf" class="link">Source</a> <a href="#v:foldlMOf" class="selflink">#</a></p><div class="doc"><p>Monadic fold over the elements of a structure, associating to the left,
 i.e. from left to right.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldlM">foldlM</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
</pre></div></div><div class="top"><p class="src"><a id="v:lookupOf" class="def">lookupOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> k =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> v)) s (k, v) -&gt; k -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> v <a href="src/Control-Lens-Fold.html#lookupOf" class="link">Source</a> <a href="#v:lookupOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:lookupOf">lookupOf</a></code> function takes a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>,
 <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, etc.), a key, and a structure containing key/value pairs.
 It returns the first value corresponding to the given key. This function
 generalizes <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:lookup">lookup</a></code> to work on an arbitrary <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> instead of lists.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lookupOf folded 4 [(2, 'a'), (4, 'b'), (4, 'c')]
</code></strong>Just 'b'
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>lookupOf each 2 [(2, 'a'), (4, 'b'), (4, 'c')]
</code></strong>Just 'a'
</pre><pre><code><a href="Control-Lens-Fold.html#v:lookupOf">lookupOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> k =&gt; <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (k,v) -&gt; k -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> v
</pre></div></div><h1 id="g:5">Indexed Folds</h1><div class="top"><p class="src"><a id="v:-94--64-.." class="def">(^@..)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; [(i, a)] <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40.." class="link">Source</a> <a href="#v:-94--64-.." class="selflink">#</a></p><div class="doc"><p>An infix version of <code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:-94--64--63-" class="def">(^@?)</a> :: s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a) <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40%3F" class="link">Source</a> <a href="#v:-94--64--63-" class="selflink">#</a></p><div class="doc"><p>Perform a safe <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:head">head</a></code> (with index) of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Just">Just</a></code> the index and result
 from an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>.</p><p>When using a <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> as a partial <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>, or an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> as a partial <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> this can be a convenient
 way to extract the optional value.</p><pre>(<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>) :: s -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63-">^@?</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
</pre></div></div><div class="top"><p class="src"><a id="v:-94--64--63--33-" class="def">(^@?!)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-Stack.html#t:HasCallStack">HasCallStack</a> =&gt; s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (i, a)) s a -&gt; (i, a) <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40%3F%21" class="link">Source</a> <a href="#v:-94--64--63--33-" class="selflink">#</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:head">head</a></code> (with index) of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> assuming that it is there.</p><pre>(<code><a href="Control-Lens-Fold.html#v:-94--64--63--33-">^@?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63--33-">^@?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63--33-">^@?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i, a)
(<code><a href="Control-Lens-Fold.html#v:-94--64--63--33-">^@?!</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i, a)
</pre></div></div><h2 id="g:6">Indexed Folding</h2><div class="top"><p class="src"><a id="v:ifoldMapOf" class="def">ifoldMapOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i m s a -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m <a href="src/Control-Lens-Fold.html#ifoldMapOf" class="link">Source</a> <a href="#v:ifoldMapOf" class="selflink">#</a></p><div class="doc"><p>Fold an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> by mapping indices and values to an arbitrary <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> with access
 to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> ::             <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> ::             <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m
<code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; m) -&gt; s -&gt; m
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldrOf" class="def">ifoldrOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#ifoldrOf" class="link">Source</a> <a href="#v:ifoldrOf" class="selflink">#</a></p><div class="doc"><p>Right-associative fold of parts of a structure that are viewed through an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with
 access to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf">ifoldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldlOf" class="def">ifoldlOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s a -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#ifoldlOf" class="link">Source</a> <a href="#v:ifoldlOf" class="selflink">#</a></p><div class="doc"><p>Left-associative fold of the parts of a structure that are viewed through an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with
 access to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldlOf">ifoldlOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldlOf">ifoldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf">ifoldlOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf">ifoldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf">ifoldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:ianyOf" class="def">ianyOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#ianyOf" class="link">Source</a> <a href="#v:ianyOf" class="selflink">#</a></p><div class="doc"><p>Return whether or not any element viewed through an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
 satisfy a predicate, with access to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:ianyOf">ianyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:iallOf" class="def">iallOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:All">All</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#iallOf" class="link">Source</a> <a href="#v:iallOf" class="selflink">#</a></p><div class="doc"><p>Return whether or not all elements viewed through an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
 satisfy a predicate, with access to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:iallOf">iallOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:inoneOf" class="def">inoneOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Control-Lens-Fold.html#inoneOf" class="link">Source</a> <a href="#v:inoneOf" class="selflink">#</a></p><div class="doc"><p>Return whether or not none of the elements viewed through an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
 satisfy a predicate, with access to the <code>i</code>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:noneOf">noneOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:inoneOf">inoneOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a id="v:itraverseOf_" class="def">itraverseOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f () <a href="src/Control-Lens-Fold.html#itraverseOf_" class="link">Source</a> <a href="#v:itraverseOf_" class="selflink">#</a></p><div class="doc"><p>Traverse the targets of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with access to the <code>i</code>, discarding the results.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> l &#8801; <code><a href="Control-Lens-Traversal.html#v:itraverseOf">itraverseOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; f r) -&gt; s -&gt; f ()
</pre></div></div><div class="top"><p class="src"><a id="v:iforOf_" class="def">iforOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f () <a href="src/Control-Lens-Fold.html#iforOf_" class="link">Source</a> <a href="#v:iforOf_" class="selflink">#</a></p><div class="doc"><p>Traverse the targets of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with access to the index, discarding the results
 (with the arguments flipped).</p><pre><code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:flip">flip</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code>
</pre><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> l a &#8801; <code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> l a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code> f     =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f ()
<code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; s -&gt; (i -&gt; a -&gt; f r) -&gt; f ()
</pre></div></div><div class="top"><p class="src"><a id="v:imapMOf_" class="def">imapMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m () <a href="src/Control-Lens-Fold.html#imapMOf_" class="link">Source</a> <a href="#v:imapMOf_" class="selflink">#</a></p><div class="doc"><p>Run monadic actions for each target of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with access to the index,
 discarding the results.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> l &#8801; <code><a href="Control-Lens-Setter.html#v:imapMOf">imapMOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; m r) -&gt; s -&gt; m ()
</pre></div></div><div class="top"><p class="src"><a id="v:iforMOf_" class="def">iforMOf_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m () <a href="src/Control-Lens-Fold.html#iforMOf_" class="link">Source</a> <a href="#v:iforMOf_" class="selflink">#</a></p><div class="doc"><p>Run monadic actions for each target of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> with access to the index,
 discarding the results (with the arguments flipped).</p><pre><code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:flip">flip</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code>
</pre><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> l a &#8801; <code><a href="Control-Lens-Traversal.html#v:iforMOf">iforMOf</a></code> l a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m ()
<code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; s -&gt; (i -&gt; a -&gt; m r) -&gt; m ()
</pre></div></div><div class="top"><p class="src"><a id="v:iconcatMapOf" class="def">iconcatMapOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i [r] s a -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r] <a href="src/Control-Lens-Fold.html#iconcatMapOf" class="link">Source</a> <a href="#v:iconcatMapOf" class="selflink">#</a></p><div class="doc"><p>Concatenate the results of a function of the elements of an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
 with access to the index.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code>  is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
<code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldMapOf">ifoldMapOf</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r]
<code><a href="Control-Lens-Fold.html#v:iconcatMapOf">iconcatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; [r]) -&gt; s -&gt; [r]
</pre></div></div><div class="top"><p class="src"><a id="v:ifindOf" class="def">ifindOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a <a href="src/Control-Lens-Fold.html#ifindOf" class="link">Source</a> <a href="#v:ifindOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> function takes an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>, a predicate that is also
 supplied the index, a structure and returns the left-most element of the structure
 matching the predicate, or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there is no such element.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:ifindOf">ifindOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a id="v:ifindMOf" class="def">ifindMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (i -&gt; a -&gt; m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Control-Lens-Fold.html#ifindMOf" class="link">Source</a> <a href="#v:ifindMOf" class="selflink">#</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> function takes an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>, a monadic predicate that is also
 supplied the index, a structure and returns in the monad the left-most element of the structure
 matching the predicate, or <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there is no such element.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldrOf-39-" class="def">ifoldrOf'</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; r))) s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#ifoldrOf%27" class="link">Source</a> <a href="#v:ifoldrOf-39-" class="selflink">#</a></p><div class="doc"><p><em>Strictly</em> fold right over the elements of a structure with an index.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldrOf-39-">ifoldrOf'</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldrOf-39-">ifoldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf-39-">ifoldrOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf-39-">ifoldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldrOf-39-">ifoldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldlOf-39-" class="def">ifoldlOf'</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; r)) s a -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#ifoldlOf%27" class="link">Source</a> <a href="#v:ifoldlOf-39-" class="selflink">#</a></p><div class="doc"><p>Fold over the elements of a structure with an index, associating to the left, but <em>strictly</em>.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldlOf-39-">ifoldlOf'</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldlOf-39-">ifoldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a       -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf-39-">ifoldlOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a         -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf-39-">ifoldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a        -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:ifoldlOf-39-">ifoldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a   -&gt; (i -&gt; r -&gt; a -&gt; r) -&gt; r -&gt; s -&gt; r
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldrMOf" class="def">ifoldrMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r))) s a -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r <a href="src/Control-Lens-Fold.html#ifoldrMOf" class="link">Source</a> <a href="#v:ifoldrMOf" class="selflink">#</a></p><div class="doc"><p>Monadic fold right over the elements of a structure with an index.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; a -&gt; r -&gt; m r) -&gt; r -&gt; s -&gt; m r
</pre></div></div><div class="top"><p class="src"><a id="v:ifoldlMOf" class="def">ifoldlMOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -&gt; m r)) s a -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r <a href="src/Control-Lens-Fold.html#ifoldlMOf" class="link">Source</a> <a href="#v:ifoldlMOf" class="selflink">#</a></p><div class="doc"><p>Monadic fold over the elements of a structure with an index, associating to the left.</p><p>When you don't need access to the index then <code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> l &#8801; <code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> l <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:const">const</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
<code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a></code> m =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (i -&gt; r -&gt; a -&gt; m r) -&gt; r -&gt; s -&gt; m r
</pre></div></div><div class="top"><p class="src"><a id="v:itoListOf" class="def">itoListOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; s -&gt; [(i, a)] <a href="src/Control-Lens-Fold.html#itoListOf" class="link">Source</a> <a href="#v:itoListOf" class="selflink">#</a></p><div class="doc"><p>Extract the key-value pairs from a structure.</p><p>When you don't need access to the indices in the result, then <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> is more flexible in what it accepts.</p><pre><code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/GHC-OldList.html#v:map">map</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Tuple.html#v:snd">snd</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Function.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code> l
</pre><pre><code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a     -&gt; s -&gt; [(i,a)]
<code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; s -&gt; [(i,a)]
<code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a      -&gt; s -&gt; [(i,a)]
<code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; s -&gt; [(i,a)]
</pre></div></div><div class="top"><p class="src"><a id="v:elemIndexOf" class="def">elemIndexOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> i) s a -&gt; a -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> i <a href="src/Control-Lens-Fold.html#elemIndexOf" class="link">Source</a> <a href="#v:elemIndexOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the index of the first value targeted by a <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> which is equal to a given value.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List.html#v:elemIndex">elemIndex</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:elemIndexOf">elemIndexOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:elemIndexOf">elemIndexOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> i
<code><a href="Control-Lens-Fold.html#v:elemIndexOf">elemIndexOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; a -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> i
</pre></div></div><div class="top"><p class="src"><a id="v:elemIndicesOf" class="def">elemIndicesOf</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [i]) s a -&gt; a -&gt; s -&gt; [i] <a href="src/Control-Lens-Fold.html#elemIndicesOf" class="link">Source</a> <a href="#v:elemIndicesOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the indices of the values targeted by a <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> which are equal to a given value.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List.html#v:elemIndices">elemIndices</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:elemIndicesOf">elemIndicesOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:elemIndicesOf">elemIndicesOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; a -&gt; s -&gt; [i]
<code><a href="Control-Lens-Fold.html#v:elemIndicesOf">elemIndicesOf</a></code> :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a></code> a =&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; a -&gt; s -&gt; [i]
</pre></div></div><div class="top"><p class="src"><a id="v:findIndexOf" class="def">findIndexOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:First">First</a> i) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> i <a href="src/Control-Lens-Fold.html#findIndexOf" class="link">Source</a> <a href="#v:findIndexOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the index of the first value targeted by a <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> which satisfies a predicate.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List.html#v:findIndex">findIndex</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:findIndexOf">findIndexOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:findIndexOf">findIndexOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> i
<code><a href="Control-Lens-Fold.html#v:findIndexOf">findIndexOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> i
</pre></div></div><div class="top"><p class="src"><a id="v:findIndicesOf" class="def">findIndicesOf</a> :: <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> [i]) s a -&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; [i] <a href="src/Control-Lens-Fold.html#findIndicesOf" class="link">Source</a> <a href="#v:findIndicesOf" class="selflink">#</a></p><div class="doc"><p>Retrieve the indices of the values targeted by a <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> which satisfy a predicate.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List.html#v:findIndices">findIndices</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:findIndicesOf">findIndicesOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:findIndicesOf">findIndicesOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a       -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; [i]
<code><a href="Control-Lens-Fold.html#v:findIndicesOf">findIndicesOf</a></code> :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -&gt; (a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; [i]
</pre></div></div><h2 id="g:7">Building Indexed Folds</h2><div class="top"><p class="src"><a id="v:ifiltered" class="def">ifiltered</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> p (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) f a a <a href="src/Control-Lens-Fold.html#ifiltered" class="link">Source</a> <a href="#v:ifiltered" class="selflink">#</a></p><div class="doc"><p>Filter an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code>, obtaining an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code>.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[0,0,0,5,5,5]^..traversed.ifiltered (\i a -&gt; i &lt;= a)
</code></strong>[0,5,5,5]
</pre><p>Compose with <code><a href="Control-Lens-Fold.html#v:ifiltered">ifiltered</a></code> to filter another <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>, <code>IndexedIso</code>, <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code>, <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> (or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>) with
 access to both the value and the index.</p><p>Note: As with <code><a href="Control-Lens-Fold.html#v:filtered">filtered</a></code>, this is <em>not</em> a legal <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>, unless you are very careful not to invalidate the predicate on the target!</p></div></div><div class="top"><p class="src"><a id="v:itakingWhile" class="def">itakingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) q (<a href="Control-Lens-Getter.html#t:Const">Const</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s))) s a -&gt; <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> p q f s a <a href="src/Control-Lens-Fold.html#itakingWhile" class="link">Source</a> <a href="#v:itakingWhile" class="selflink">#</a></p><div class="doc"><p>Obtain an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> by taking elements from another
 <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> while a predicate holds.</p><pre><code><a href="Control-Lens-Fold.html#v:itakingWhile">itakingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a          -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:itakingWhile">itakingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a    -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:itakingWhile">itakingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a         -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:itakingWhile">itakingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a        -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
</pre><p>Note: Applying <code><a href="Control-Lens-Fold.html#v:itakingWhile">itakingWhile</a></code> to an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> will still allow you to use it as a
 pseudo-<code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>, but if you change the value of any target to one where the predicate returns
 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:False">False</a></code>, then you will break the <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> laws and <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> fusion will no longer be sound.</p></div></div><div class="top"><p class="src"><a id="v:idroppingWhile" class="def">idroppingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> q, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) q (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a>) f) s t a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s t a a <a href="src/Control-Lens-Fold.html#idroppingWhile" class="link">Source</a> <a href="#v:idroppingWhile" class="selflink">#</a></p><div class="doc"><p>Obtain an <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> by dropping elements from another <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> while a predicate holds.</p><pre><code><a href="Control-Lens-Fold.html#v:idroppingWhile">idroppingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a          -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
<code><a href="Control-Lens-Fold.html#v:idroppingWhile">idroppingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a    -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a -- see notes
<code><a href="Control-Lens-Fold.html#v:idroppingWhile">idroppingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a         -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a -- see notes
<code><a href="Control-Lens-Fold.html#v:idroppingWhile">idroppingWhile</a></code> :: (i -&gt; a -&gt; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a        -&gt; <code><a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a></code> i s a
</pre><p>Note: As with <code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> applying <code><a href="Control-Lens-Fold.html#v:idroppingWhile">idroppingWhile</a></code> to an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> will still
 allow you to use it as a pseudo-<code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>, but if you change the value of the first target to one
 where the predicate returns <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Bool.html#v:True">True</a></code>, then you will break the <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> laws and <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> fusion will
 no longer be sound.</p></div></div><h1 id="g:8">Internal types</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Leftmost" class="def">Leftmost</a> a <a href="src/Control-Lens-Internal-Fold.html#Leftmost" class="link">Source</a> <a href="#t:Leftmost" class="selflink">#</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code>.</p></div><div class="subs instances"><p id="control.i:Leftmost" class="caption collapser" onclick="toggleSection('i:Leftmost')">Instances</p><div id="section.i:Leftmost" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Leftmost:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:Leftmost:Semigroup:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a)</span> <a href="src/Control-Lens-Internal-Fold.html#line-175" class="link">Source</a> <a href="#t:Leftmost" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Leftmost:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a) -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Leftmost:Monoid:2" class="instance expander" onclick="toggleSection('i:id:Leftmost:Monoid:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a)</span> <a href="src/Control-Lens-Internal-Fold.html#line-179" class="link">Source</a> <a href="#t:Leftmost" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Leftmost:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a] -&gt; <a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Rightmost" class="def">Rightmost</a> a <a href="src/Control-Lens-Internal-Fold.html#Rightmost" class="link">Source</a> <a href="#t:Rightmost" class="selflink">#</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code>.</p></div><div class="subs instances"><p id="control.i:Rightmost" class="caption collapser" onclick="toggleSection('i:Rightmost')">Instances</p><div id="section.i:Rightmost" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Rightmost:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:Rightmost:Semigroup:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a)</span> <a href="src/Control-Lens-Internal-Fold.html#line-204" class="link">Source</a> <a href="#t:Rightmost" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Rightmost:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a) -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Rightmost:Monoid:2" class="instance expander" onclick="toggleSection('i:id:Rightmost:Monoid:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a)</span> <a href="src/Control-Lens-Internal-Fold.html#line-208" class="link">Source</a> <a href="#t:Rightmost" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Rightmost:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a] -&gt; <a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Traversed" class="def">Traversed</a> a f <a href="src/Control-Lens-Internal-Fold.html#Traversed" class="link">Source</a> <a href="#t:Traversed" class="selflink">#</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#v:traverseOf_">traverseOf_</a></code> and the like.</p><p>The argument <code>a</code> of the result should not be used!</p></div><div class="subs instances"><p id="control.i:Traversed" class="caption collapser" onclick="toggleSection('i:Traversed')">Instances</p><div id="section.i:Traversed" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Traversed:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:Traversed:Semigroup:1')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f)</span> <a href="src/Control-Lens-Internal-Fold.html#line-75" class="link">Source</a> <a href="#t:Traversed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Traversed:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f) -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Traversed:Monoid:2" class="instance expander" onclick="toggleSection('i:id:Traversed:Monoid:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f)</span> <a href="src/Control-Lens-Internal-Fold.html#line-79" class="link">Source</a> <a href="#t:Traversed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Traversed:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f] -&gt; <a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Sequenced" class="def">Sequenced</a> a m <a href="src/Control-Lens-Internal-Fold.html#Sequenced" class="link">Source</a> <a href="#t:Sequenced" class="selflink">#</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#v:mapM_">mapM_</a></code> and the like.</p><p>The argument <code>a</code> of the result should not be used!</p></div><div class="subs instances"><p id="control.i:Sequenced" class="caption collapser" onclick="toggleSection('i:Sequenced')">Instances</p><div id="section.i:Sequenced" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Sequenced:Semigroup:1" class="instance expander" onclick="toggleSection('i:id:Sequenced:Semigroup:1')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m)</span> <a href="src/Control-Lens-Internal-Fold.html#line-94" class="link">Source</a> <a href="#t:Sequenced" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Sequenced:Semigroup:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m) -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Sequenced:Monoid:2" class="instance expander" onclick="toggleSection('i:id:Sequenced:Monoid:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m)</span> <a href="src/Control-Lens-Internal-Fold.html#line-98" class="link">Source</a> <a href="#t:Sequenced" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Sequenced:Monoid:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m] -&gt; <a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:9">Fold with Reified Monoid</h1><div class="top"><p class="src"><a id="v:foldBy" class="def">foldBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> t =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; t a -&gt; a <a href="#v:foldBy" class="selflink">#</a></p><div class="doc"><p>Fold a value using its <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> instance using
 explicitly provided <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> operations. This is like <code>fold</code>
 where the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> instance can be manually specified.</p><pre><code><a href="Control-Lens-Fold.html#v:foldBy">foldBy</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#v:mappend">mappend</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#v:mempty">mempty</a></code> &#8801; <code>fold</code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldBy (++) [] [&quot;hello&quot;,&quot;world&quot;]
</code></strong>&quot;helloworld&quot;
</pre></div></div><div class="top"><p class="src"><a id="v:foldByOf" class="def">foldByOf</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a <a href="src/Control-Lens-Fold.html#foldByOf" class="link">Source</a> <a href="#v:foldByOf" class="selflink">#</a></p><div class="doc"><p>Fold a value using a specified <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> and <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> operations.
 This is like <code><a href="Control-Lens-Fold.html#v:foldBy">foldBy</a></code> where the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> instance can be
 manually specified.</p><pre><code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldBy">foldBy</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a
<code><a href="Control-Lens-Fold.html#v:foldByOf">foldByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; s -&gt; a
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldByOf both (++) [] (&quot;hello&quot;,&quot;world&quot;)
</code></strong>&quot;helloworld&quot;
</pre></div></div><div class="top"><p class="src"><a id="v:foldMapBy" class="def">foldMapBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a> t =&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; t a -&gt; r <a href="#v:foldMapBy" class="selflink">#</a></p><div class="doc"><p>Fold a value using its <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> instance using
 explicitly provided <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> operations. This is like <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldMap">foldMap</a></code>
 where the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> instance can be manually specified.</p><pre><code><a href="Control-Lens-Fold.html#v:foldMapBy">foldMapBy</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#v:mappend">mappend</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#v:mempty">mempty</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#v:foldMap">foldMap</a></code>
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldMapBy (+) 0 length [&quot;hello&quot;,&quot;world&quot;]
</code></strong>10
</pre></div></div><div class="top"><p class="src"><a id="v:foldMapByOf" class="def">foldMapByOf</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r <a href="src/Control-Lens-Fold.html#foldMapByOf" class="link">Source</a> <a href="#v:foldMapByOf" class="selflink">#</a></p><div class="doc"><p>Fold a value using a specified <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> and <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> operations.
 This is like <code><a href="Control-Lens-Fold.html#v:foldMapBy">foldMapBy</a></code> where the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> instance can be
 manually specified.</p><pre><code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:foldMapBy">foldMapBy</a></code>
</pre><pre><code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a     -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a       -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a      -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r
<code><a href="Control-Lens-Fold.html#v:foldMapByOf">foldMapByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a       -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; s -&gt; r
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>foldMapByOf both (+) 0 length (&quot;hello&quot;,&quot;world&quot;)
</code></strong>10
</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>