/**
* Repeats this effect for as long as its value is equal to the specified
* value or until the first failure.
*
* @tsplus static effect/core/io/Effect.Aspects repeatWhileEquals
* @tsplus pipeable effect/core/io/Effect repeatWhileEquals
*/
export function repeatWhileEquals(E: Equivalence, a: A) {
return (self: Effect): Effect => self.repeatWhile((_) => E.equals(_, a))
}