This file is indexed.

/usr/share/doc/libghc-lens-doc/html/Control-Lens-Fold.html is in libghc-lens-doc 4.1.2.1-3.

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
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
<!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 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.1.2.1: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>Rank2Types</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>Edward Kmett &lt;ekmett@gmail.com&gt;</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</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">Deprecated
</a></li><li><a href="#g:9">Internal types
</a></li><li><a href="#g:10">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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code>. It allows
 you to extract multiple results from a container. A <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> container
 can be characterized by the behavior of
 <code><code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:foldMap">foldMap</a></code> :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> t, <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a></code> transformers.
</p><p>Everything you can do with a <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:-94--63--33-">(^?!)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:preview">preview</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:previews">previews</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:ipreview">ipreview</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:ipreviews">ipreviews</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:preuse">preuse</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:preuses">preuses</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:ipreuse">ipreuse</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))</li><li class="src short"><a href="#v:ipreuses">ipreuses</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:folding">folding</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> g) =&gt; (s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> g s t a b</li><li class="src short"><a href="#v:ifolding">ifolding</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:folded">folded</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> (f a) a</li><li class="src short"><a href="#v:folded64">folded64</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 -&gt; a) -&gt; <a href="Control-Lens-Type.html#t:Fold1">Fold1</a> 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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/libghc-transformers-doc/html/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="Control-Lens-Type.html#t:Fold1">Fold1</a> a a</li><li class="src short"><a href="#v:replicated">replicated</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="/usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Bind.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="/usr/share/doc/libghc-transformers-doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> f <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:lined">lined</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> f <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:foldMapOf">foldMapOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p r s a -&gt; p a 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-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; p a (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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; s -&gt; [a]</li><li class="src short"><a href="#v:anyOf">anyOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:allOf">allOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:noneOf">noneOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:productOf">productOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; p a (f r) -&gt; s -&gt; f ()</li><li class="src short"><a href="#v:forOf_">forOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; p a (f r) -&gt; f ()</li><li class="src short"><a href="#v:sequenceAOf_">sequenceAOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; p a (m r) -&gt; s -&gt; m ()</li><li class="src short"><a href="#v:forMOf_">forMOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; p a (m r) -&gt; m ()</li><li class="src short"><a href="#v:sequenceOf_">sequenceOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Alternative">Alternative</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p [r] s a -&gt; p a [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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notElemOf">notElemOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a>)) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> 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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:maximumOf">maximumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:minimumOf">minimumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:maximumByOf">maximumByOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findOf">findOf</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findMOf">findMOf</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; p a (m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:-94--64-..">(^@..)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)</li><li class="src short"><a href="#v:-94--64--63--33-">(^@?!)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:itraverseOf_">itraverseOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:ifindMOf">ifindMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (i -&gt; a -&gt; m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; s -&gt; [(i, a)]</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Const">Const</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (f s))) s s a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s s a 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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/libghc-transformers-doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:headOf">headOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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> ::  (<span class="keyword">forall</span> i.  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:M">M</a> a i) 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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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> ::  (<span class="keyword">forall</span> s.  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:M">M</a> r s) t a) -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; t -&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 name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code>
 typeclass, see <code><a href="Control-Lens-Fold.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a></code>.
</p><p>Unlike a <code><a href="Control-Lens-Traversal.html#t: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 name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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#t:Fold">Fold</a></code> and can be used for <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code>.
</p></div></div><h1 id="g:2">Getting Started
</h1><div class="top"><p class="src"><a name="v:-94-.." class="def">(^..)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -&gt; [a]<a href="src/Control-Lens-Fold.html#%5E.." class="link">Source</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]]^..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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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]
 (<code><a href="Control-Lens-Fold.html#v:-94-..">^..</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-..">^..</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-..">^..</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-..">^..</a></code>) :: s -&gt; <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -&gt; [a]
 (<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: 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 name="v:-94--63-" class="def">(^?)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#%5E%3F" class="link">Source</a></p><div class="doc"><p>Perform a safe <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:-94--63--33-" class="def">(^?!)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> a) s a -&gt; a<a href="src/Control-Lens-Fold.html#%5E%3F%21" class="link">Source</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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 name="v:pre" class="def">pre</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; <a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a> s (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#pre" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s a -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a      -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s a       -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code> s a     -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a name="v:ipre" class="def">ipre</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))<a href="src/Control-Lens-Fold.html#ipre" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> (<code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> i) s a -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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:Simple">Simple</a></code> (<code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i) s a      -&gt; <code><a href="Control-Lens-Type.html#t:IndexPreservingGetter">IndexPreservingGetter</a></code> s (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a name="v:preview" class="def">preview</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#preview" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:listToMaybe">listToMaybe</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a></code> transformer stack:
</p><pre>
 <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a name="v:previews" class="def">previews</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)<a href="src/Control-Lens-Fold.html#previews" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a></code> <code>(-&gt;) s</code>.
</p></div></div><div class="top"><p class="src"><a name="v:ipreview" class="def">ipreview</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))<a href="src/Control-Lens-Fold.html#ipreview" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a></code> transformer stack:
</p><pre>
 <code><a href="Control-Lens-Fold.html#v:ipreview">ipreview</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a name="v:ipreviews" class="def">ipreviews</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)<a href="src/Control-Lens-Fold.html#ipreviews" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-Reader.html#t:Reader">Reader</a></code>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a></code> transformer stack:
</p><pre>
 <code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreviews">ipreviews</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a name="v:preuse" class="def">preuse</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#preuse" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:preuse">preuse</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a name="v:preuses" class="def">preuses</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)<a href="src/Control-Lens-Fold.html#preuses" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:preuses">preuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a name="v:ipreuse" class="def">ipreuse</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> (i, a)) s a -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))<a href="src/Control-Lens-Fold.html#ipreuse" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a))
</pre></div></div><div class="top"><p class="src"><a name="v:ipreuses" class="def">ipreuses</a> :: <a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> r) s a -&gt; (i -&gt; a -&gt; r) -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> r)<a href="src/Control-Lens-Fold.html#ipreuses" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
 <code><a href="Control-Lens-Fold.html#v:ipreuses">ipreuses</a></code> :: <code><a href="/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><div class="top"><p class="src"><a name="v:has" class="def">has</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#has" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:hasn-39-t" class="def">hasn't</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#hasn%27t" class="link">Source</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 name="v:folding" class="def">folding</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> g) =&gt; (s -&gt; f a) -&gt; <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> g s t a b<a href="src/Control-Lens-Fold.html#folding" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:ifolding" class="def">ifolding</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p></div><div class="top"><p class="src"><a name="v:folded" class="def">folded</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> (f a) a<a href="src/Control-Lens-Fold.html#folded" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:folded64" class="def">folded64</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> f =&gt; <a href="Control-Lens-Fold.html#t:IndexedFold">IndexedFold</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int64">Int64</a> (f a) a<a href="src/Control-Lens-Fold.html#folded64" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> indexed by ordinal position.
</p></div></div><div class="top"><p class="src"><a name="v:unfolded" class="def">unfolded</a> ::  (b -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#t:unfoldr">unfoldr</a></code> &#8801; <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:iterated" class="def">iterated</a> ::  (a -&gt; a) -&gt; <a href="Control-Lens-Type.html#t:Fold1">Fold1</a> a a<a href="src/Control-Lens-Fold.html#iterated" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:iterate">iterate</a></code> f a
</pre></div></div><div class="top"><p class="src"><a name="v:filtered" class="def">filtered</a> :: (<a href="Control-Lens-Prism.html#t:Choice">Choice</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p><div class="doc"><p>Obtain an <code>AffineFold</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>AffineTraversal</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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#t:over">over</a></code> evens <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:succ">succ</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Setter.html#t:over">over</a></code> evens <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:succ">succ</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#v:-47--61-">/=</a></code> <code><a href="Control-Lens-Setter.html#t:over">over</a></code> evens (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:succ">succ</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:succ">succ</a></code>)
</pre><p>So, in order for this to qualify as a legal <code>AffineTraversal</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 name="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="/usr/share/doc/libghc-transformers-doc/html/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></p><div class="doc"><p>This allows you to <code><a href="Control-Traversable.html#t: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#t: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#t:re">re</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:repeated" class="def">repeated</a> ::  <a href="Control-Lens-Type.html#t:Fold1">Fold1</a> a a<a href="src/Control-Lens-Fold.html#repeated" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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></div></div><div class="top"><p class="src"><a name="v:replicated" class="def">replicated</a> ::  <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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 name="v:cycled" class="def">cycled</a> :: (<a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="/usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Bind.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></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></div></div><div class="top"><p class="src"><a name="v:takingWhile" class="def">takingWhile</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q (<a href="/usr/share/doc/libghc-transformers-doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 also 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></div></div><div class="top"><p class="src"><a name="v:worded" class="def">worded</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> f <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a><a href="src/Control-Lens-Fold.html#worded" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:words">words</a></code> of a <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:lined" class="def">lined</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Type.html#t:IndexedLensLike-39-">IndexedLensLike'</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> f <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a><a href="src/Control-Lens-Fold.html#lined" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:lines">lines</a></code> of a <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-String.html#t:String">String</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:foldMapOf" class="def">foldMapOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p r s a -&gt; p a r -&gt; s -&gt; r<a href="src/Control-Lens-Fold.html#foldMapOf" class="link">Source</a></p><div class="doc"><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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><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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="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></p><div class="doc"><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:foldrOf" class="def">foldrOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> r) s a -&gt; p a (r -&gt; r) -&gt; r -&gt; s -&gt; r<a href="src/Control-Lens-Fold.html#foldrOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:foldlOf" class="def">foldlOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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 name="v:toListOf" class="def">toListOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:anyOf" class="def">anyOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#anyOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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:allOf">allOf</a></code> l <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:allOf" class="def">allOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#allOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:noneOf" class="def">noneOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#noneOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:andOf" class="def">andOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#andOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>      -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code> -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:orOf" class="def">orOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#orOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>      -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>       -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code> -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>     -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:productOf" class="def">productOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p><div class="doc"><p>Calculate the <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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></div></div><div class="top"><p class="src"><a name="v:sumOf" class="def">sumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#t:Num">Num</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p><div class="doc"><p>Calculate the <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Sum">Sum</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Tuple.html#t:_1">_1</a></code>) :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:traverseOf_" class="def">traverseOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; p a (f r) -&gt; s -&gt; f ()<a href="src/Control-Lens-Fold.html#traverseOf_" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a></code>)-based answer,
 but unlike <code><a href="Control-Lens-Traversal.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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#t:_Left">_Left</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a></code> f =&gt; (a -&gt; f b) -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:forOf_" class="def">forOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> r f) s a -&gt; s -&gt; p a (f r) -&gt; f ()<a href="src/Control-Lens-Fold.html#forOf_" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a></code>)-based answer,
 but unlike <code><a href="Control-Lens-Traversal.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a></code>.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:sequenceAOf_" class="def">sequenceAOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:mapMOf_" class="def">mapMOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; p a (m r) -&gt; s -&gt; m ()<a href="src/Control-Lens-Fold.html#mapMOf_" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:forMOf_" class="def">forMOf_</a> :: (<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> r m) s a -&gt; s -&gt; p a (m r) -&gt; m ()<a href="src/Control-Lens-Fold.html#forMOf_" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:sequenceOf_" class="def">sequenceOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:asumOf" class="def">asumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Alternative">Alternative</a> f =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:msumOf" class="def">msumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:MonadPlus">MonadPlus</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:concatMapOf" class="def">concatMapOf</a> :: <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p [r] s a -&gt; p a [r] -&gt; s -&gt; [r]<a href="src/Control-Lens-Fold.html#concatMapOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:elemOf" class="def">elemOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#elemOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:notElemOf" class="def">notElemOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#notElemOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
 <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:lengthOf" class="def">lengthOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a>)) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a><a href="src/Control-Lens-Fold.html#lengthOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:length">length</a></code>,
 this will not terminate for infinite folds.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a) -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:nullOf" class="def">nullOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#nullOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#v:False">False</a></code>.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code>_1</code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a, b) -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:notNullOf" class="def">notNullOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#notNullOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#v:True">True</a></code>.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#v:not">not</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code>_1</code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a></code> g) =&gt; f (g a, b) -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#firstOf" class="link">Source</a></p><div class="doc"><p>Retrieve the <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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>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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#lastOf" class="link">Source</a></p><div class="doc"><p>Retrieve the <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Last">Last</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:maximumOf" class="def">maximumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#maximumOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#v:maximum">maximum</a></code> &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:minimumOf" class="def">minimumOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#minimumOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#v:minimum">minimum</a></code> &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
 <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:maximumByOf" class="def">maximumByOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#maximumByOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:maximumBy">maximumBy</a></code> cmp &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:minimumByOf" class="def">minimumByOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#minimumByOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#v:minimumBy">minimumBy</a></code> cmp &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:error">error</a></code> &quot;empty&quot;) <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Ord.html#t:Ordering">Ordering</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:findOf" class="def">findOf</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; p a <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a> -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#findOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a></code> (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)) s a -&gt; (a -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Just">Just</a></code> a else y) <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Nothing">Nothing</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:findMOf" class="def">findMOf</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="Control-Lens-Getter.html#t:Accessing">Accessing</a> p (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; p a (m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#findMOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:findMOf">findMOf</a></code> :: (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a></code> (m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a))) s a -&gt; (a -&gt; m <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Just">Just</a></code> a) else y) $ return <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Nothing">Nothing</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:foldrOf-39-" class="def">foldrOf'</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p><div class="doc"><p>Strictly fold right over the elements of a structure.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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 name="v:foldlOf-39-" class="def">foldlOf'</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></p><div class="doc"><p>Fold over the elements of a structure, associating to the left, but strictly.
</p><pre>
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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 name="v:foldr1Of" class="def">foldr1Of</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:foldr1">foldr1</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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 name="v:foldl1Of" class="def">foldl1Of</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:foldl1">foldl1</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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 name="v:foldr1Of-39-" class="def">foldr1Of'</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:foldr1">foldr1</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:foldl1Of-39-" class="def">foldl1Of'</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#t:foldl1-39-">foldl1'</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:foldrMOf" class="def">foldrMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:foldlMOf" class="def">foldlMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t: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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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><h1 id="g:5">Indexed Folds
</h1><div class="top"><p class="src"><a name="v:-94--64-.." class="def">(^@..)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -&gt; [(i, a)]<a href="src/Control-Lens-Fold.html#%5E%40.." class="link">Source</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 name="v:-94--64--63-" class="def">(^@?)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)<a href="src/Control-Lens-Fold.html#%5E%40%3F" class="link">Source</a></p><div class="doc"><p>Perform a safe <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
</pre></div></div><div class="top"><p class="src"><a name="v:-94--64--63--33-" class="def">(^@?!)</a> ::  s -&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (i, a)) s a -&gt; (i, a)<a href="src/Control-Lens-Fold.html#%5E%40%3F%21" class="link">Source</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.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 name="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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:ifoldrOf" class="def">ifoldrOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:ifoldlOf" class="def">ifoldlOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:ianyOf" class="def">ianyOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#ianyOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:iallOf" class="def">iallOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:All">All</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#iallOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:inoneOf" class="def">inoneOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Any">Any</a> s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#inoneOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:itraverseOf_" class="def">itraverseOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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></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#t:itraverseOf">itraverseOf</a></code> l <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:itraverseOf_">itraverseOf_</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:iforOf_" class="def">iforOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:flip">flip</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:iforOf_">iforOf_</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:imapMOf_" class="def">imapMOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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#t:imapMOf">imapMOf</a></code> l <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:imapMOf_">imapMOf_</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:iforMOf_" class="def">iforMOf_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:flip">flip</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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#t:iforMOf">iforMOf</a></code> l a <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:iforMOf_">iforMOf_</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:ifindOf" class="def">ifindOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)) s a -&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#ifindOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:ifindMOf" class="def">ifindMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a))) s a -&gt; (i -&gt; a -&gt; m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; s -&gt; m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#ifindMOf" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
 <code><a href="Control-Lens-Fold.html#v:ifindMOf">ifindMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></code>) -&gt; s -&gt; m (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a name="v:ifoldrOf-39-" class="def">ifoldrOf'</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:ifoldlOf-39-" class="def">ifoldlOf'</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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 name="v:ifoldrMOf" class="def">ifoldrMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Dual">Dual</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:ifoldrMOf">ifoldrMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:ifoldlMOf" class="def">ifoldlMOf</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:const">const</a></code>
</pre><pre>
 <code><a href="Control-Lens-Fold.html#v:ifoldlMOf">ifoldlMOf</a></code> :: <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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 name="v:itoListOf" class="def">itoListOf</a> ::  <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:map">map</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Tuple.html#v:fst">fst</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.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><h2 id="g:7">Building Indexed Folds
</h2><div class="top"><p class="src"><a name="v:ifiltered" class="def">ifiltered</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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:filtered">filtered</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 name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="Control-Lens-Getter.html#t:Const">Const</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Endo">Endo</a> (f s))) s s a a -&gt; <a href="Control-Lens-Type.html#t:Optical">Optical</a> p q f s s a a<a href="src/Control-Lens-Fold.html#itakingWhile" class="link">Source</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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></div></div><div class="top"><p class="src"><a name="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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f) =&gt; (i -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/libghc-transformers-doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> (<a href="/usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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></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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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>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 targets to ones where the predicate returns
 <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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">Deprecated
</h1><div class="top"><p class="src"><a name="v:headOf" class="def">headOf</a> ::  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:First">First</a> a) s a -&gt; s -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#headOf" class="link">Source</a></p><div class="doc"><div class="warning"><p>Deprecated: <code><a href="Control-Lens-Fold.html#v:headOf">headOf</a></code> will be removed after GHC 7.8 is released. (Use <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> or <code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code>)
</p></div><p>A deprecated alias for <code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code>.
</p></div></div><h1 id="g:9">Internal types
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Leftmost" class="def">Leftmost</a> a <a href="src/Control-Lens-Internal-Fold.html#Leftmost" class="link">Source</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#t: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"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Leftmost">Leftmost</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Rightmost" class="def">Rightmost</a> a <a href="src/Control-Lens-Internal-Fold.html#Rightmost" class="link">Source</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#t: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"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Rightmost">Rightmost</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Traversed" class="def">Traversed</a> a f <a href="src/Control-Lens-Internal-Fold.html#Traversed" class="link">Source</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#t: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"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Bind.html#t:Apply">Apply</a> f =&gt; <a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Traversed">Traversed</a> a f)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Sequenced" class="def">Sequenced</a> a m <a href="src/Control-Lens-Internal-Fold.html#Sequenced" class="link">Source</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#t: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"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Bind.html#t:Apply">Apply</a> m =&gt; <a href="/usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Fold.html#t:Sequenced">Sequenced</a> a m)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:10">Fold with Reified Monoid
</h1><div class="top"><p class="src"><a name="v:foldBy" class="def">foldBy</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Foldable.html#t:Foldable">Foldable</a> t =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; t a -&gt; a<a href="src/Control-Lens-Fold.html#foldBy" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:foldByOf" class="def">foldByOf</a> ::  (<span class="keyword">forall</span> i.  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:M">M</a> a i) 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></p></div><div class="top"><p class="src"><a name="v:foldMapBy" class="def">foldMapBy</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/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="src/Control-Lens-Fold.html#foldMapBy" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:foldMapByOf" class="def">foldMapByOf</a> ::  (<span class="keyword">forall</span> s.  <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal-Fold.html#t:M">M</a> r s) t a) -&gt; (r -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r) -&gt; t -&gt; r<a href="src/Control-Lens-Fold.html#foldMapByOf" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>