diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7b1625..84ad714 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `Observable.ofSeq (items)` and `Observable.ofSeq (items, cancellationToken)`, reachable after `open FSharp.Control.R3`
- `Observable.chunkByBoundaries` accepting window boundaries of any element type
- `rxqueryWith cancellationToken` and `RxQueryBuilder (cancellationToken)` to cancel the query operators that return a task
-- XML documentation for every public API
+- XML documentation for every public API, including the R3 1.3.1 limitations of `bind`, `catch` and `mapAsync`
### Changed
diff --git a/src/FSharp.Control.R3/AsyncObservable.fs b/src/FSharp.Control.R3/AsyncObservable.fs
index d187fb6..851eb4c 100644
--- a/src/FSharp.Control.R3/AsyncObservable.fs
+++ b/src/FSharp.Control.R3/AsyncObservable.fs
@@ -129,7 +129,21 @@ module Observable =
/// when the source fails, with when the next element arrives,
/// or, with , when the source completes.
/// An exception raised by the computation is reported through
- /// and the sequence continues.
+ /// and the sequence continues, with these exceptions in R3 1.3.1:
+ ///
+ ///
+ /// - an exception that happens after the source completed is dropped, and the sequence completes successfully without it;
+ /// -
+ /// an is never reported: it drops the element with
+ /// ,
+ /// and , and stops the sequence without completing it
+ /// with the other configurations;
+ ///
+ /// - with a limited , every exception permanently takes up one of the slots.
+ ///
+ ///
+ ///
+ /// is not affected by these limitations.
///
///
/// Thrown when the concurrency limit of the options is 0 or below -1.
diff --git a/src/FSharp.Control.R3/Observable.fs b/src/FSharp.Control.R3/Observable.fs
index f26dbab..e985a54 100644
--- a/src/FSharp.Control.R3/Observable.fs
+++ b/src/FSharp.Control.R3/Observable.fs
@@ -17,6 +17,10 @@ let inline asObservable source : Observable<'Source> = ObservableExtensions.AsOb
/// The result completes when the source and every inner sequence have completed. It fails when the source fails,
/// or when an inner sequence fails while the source is still running.
///
+///
+/// R3 1.3.1 ignores the failure of an inner sequence that fails after the source completed: the result then completes successfully
+/// with the remaining inner sequences, or never completes when the failed one was the last one running.
+///
///
let inline bind ([] f : 'T -> Observable<'TNext>) source = ObservableExtensions.SelectMany (source, f)
@@ -41,6 +45,10 @@ let inline cast<'T, 'CastType> (source) = ObservableExtensions.Cast<'T, 'CastTyp
/// pass through without reaching the handler.
/// A handler whose argument type is not annotated handles every exception.
///
+///
+/// In R3 1.3.1, disposing the result after it switched to the sequence of the handler does not unsubscribe from that sequence:
+/// it stays subscribed until it completes by itself, while its elements are no longer delivered.
+///
///
let inline catch ([] f : 'Exn -> Observable<'T>) o = ObservableExtensions.Catch (o, f)
diff --git a/src/FSharp.Control.R3/TaskObservable.fs b/src/FSharp.Control.R3/TaskObservable.fs
index dd608ac..7b347f9 100644
--- a/src/FSharp.Control.R3/TaskObservable.fs
+++ b/src/FSharp.Control.R3/TaskObservable.fs
@@ -65,7 +65,21 @@ module Observable =
/// when the source fails, with when the next element arrives,
/// or, with , when the source completes.
/// An exception of the function is reported through
- /// and the sequence continues.
+ /// and the sequence continues, with these exceptions in R3 1.3.1:
+ ///
+ ///
+ /// - an exception that happens after the source completed is dropped, and the sequence completes successfully without it;
+ /// -
+ /// an is never reported: it drops the element with
+ /// ,
+ /// and , and stops the sequence without completing it
+ /// with the other configurations;
+ ///
+ /// - with a limited , every exception permanently takes up one of the slots.
+ ///
+ ///
+ ///
+ /// is not affected by these limitations.
///
///
/// Thrown when the concurrency limit of the options is 0 or below -1.