diff --git a/src/FSharp.Control.TaskSeq/TaskSeq.fs b/src/FSharp.Control.TaskSeq/TaskSeq.fs
index 42c00ee5..be9961f7 100644
--- a/src/FSharp.Control.TaskSeq/TaskSeq.fs
+++ b/src/FSharp.Control.TaskSeq/TaskSeq.fs
@@ -285,6 +285,8 @@ type TaskSeq private () =
static member filter predicate source = Internal.filter (Predicate predicate) source
static member filterAsync predicate source = Internal.filter (PredicateAsync predicate) source
+ static member where predicate source = Internal.filter (Predicate predicate) source
+ static member whereAsync predicate source = Internal.filter (PredicateAsync predicate) source
static member skip count source = Internal.skipOrTake Skip count source
static member drop count source = Internal.skipOrTake Drop count source
diff --git a/src/FSharp.Control.TaskSeq/TaskSeq.fsi b/src/FSharp.Control.TaskSeq/TaskSeq.fsi
index 3c14581d..eccf01b1 100644
--- a/src/FSharp.Control.TaskSeq/TaskSeq.fsi
+++ b/src/FSharp.Control.TaskSeq/TaskSeq.fsi
@@ -725,10 +725,38 @@ type TaskSeq =
/// Thrown when the input task sequence is null.
static member filterAsync: predicate: ('T -> #Task) -> source: TaskSeq<'T> -> TaskSeq<'T>
+ ///
+ /// Returns a new task sequence containing only the elements of the collection
+ /// for which the given function returns .
+ /// If is asynchronous, consider using .
+ ///
+ /// Alias for .
+ ///
+ ///
+ /// A function to test whether an item in the input sequence should be included in the output or not.
+ /// The input task sequence.
+ /// The resulting task sequence.
+ /// Thrown when the input task sequence is null.
+ static member where: predicate: ('T -> bool) -> source: TaskSeq<'T> -> TaskSeq<'T>
+
+ ///
+ /// Returns a new task sequence containing only the elements of the input sequence
+ /// for which the given function returns .
+ /// If is synchronous, consider using .
+ ///
+ /// Alias for .
+ ///
+ ///
+ /// An asynchronous function to test whether an item in the input sequence should be included in the output or not.
+ /// The input task sequence.
+ /// The resulting task sequence.
+ /// Thrown when the input task sequence is null.
+ static member whereAsync: predicate: ('T -> #Task) -> source: TaskSeq<'T> -> TaskSeq<'T>
+
///
/// Returns a task sequence that, when iterated, skips elements of the underlying
/// sequence, and then yields the remainder. Raises an exception if there are not
- /// items. See for a version that does not raise an exception.
+ /// items. See for a version that does not raise an exception.
/// See also for the inverse of this operation.
///
///
@@ -742,7 +770,6 @@ type TaskSeq =
///
static member skip: count: int -> source: TaskSeq<'T> -> TaskSeq<'T>
-
///
/// Returns a task sequence that, when iterated, drops at most elements of the
/// underlying sequence, and then returns the remainder of the elements, if any.