úÎ k‚         #Not necessarily in counting order. It turns out there are  instances that are not .  The (c -> s)' instance is based on the algorithm at   Khttp://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/.  !"#$   %      !"#$%&'() countable-0.1Data.CountableData.Searchable Data.EmptyInfiniteCountable countNextAtLeastOneCountable countFirst Countable countPreviouscountMaybeNext countDownboundedCountPreviousboundedCountMaybeNext maybeRecount countDownUp countUpDownfinalIterationrecountFinite allValuesassemble Searchablesearchforsomeforevery finiteSearchfiniteCountPreviousfiniteCountMaybeNextNothingEmptyneverIsoInfiniteCountableMkIsoInfiniteCountable IsoCountableMkIsoCountable firstJust firstItemsetpairisoCountableFnisoInfiniteCountableFn