diff --git a/README.md b/README.md
index f0147cc55f1b164b9f5337572b0e24acb82ec809..b211567a0bf0187e70c5c1ca740eacf7f83fecf1 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,20 @@ The key features of this library are as follows:
`set_solver` for goals involving set operations.
- It is entirely dependency- and axiom-free.
+## Side-effects
+
+Importing std++ has some side effects as the library sets some global options.
+Notably:
+
+* `Generalizable All Variables`: This option enables implicit generalization in
+ arguments of the form `` `{...}`` (i.e., anonymous arguments). Unfortunately, it
+ also enables implicit generalization in `Instance`. We think that the fact
+ taht both behaviors are coupled together is a
+ [bug in Coq](https://github.com/coq/coq/issues/6030).
+* The behavior of `Program` is tweaked: `Unset Transparent Obligations`,
+ `Obligation Tactic := idtac`, `Add Search Blacklist "_obligation_"`. See
+ [`base.v`](`theories/base.v`) for further details.
+
## History
Coq-std++ has originally been developed by Robbert Krebbers as part of his
diff --git a/theories/base.v b/theories/base.v
index 3570aae7cad56e64c37f66c2f1896dc18ec0e21e..248b48cf07e1d18d2fab1d760ea0318e506f5a24 100644
--- a/theories/base.v
+++ b/theories/base.v
@@ -4,12 +4,20 @@
that are used throughout the whole development. Most importantly it contains
abstract interfaces for ordered structures, collections, and various other data
structures. *)
-Global Generalizable All Variables.
+
From Coq Require Export Morphisms RelationClasses List Bool Utf8 Setoid.
Set Default Proof Using "Type".
Export ListNotations.
From Coq.Program Require Export Basics Syntax.
+(** Enable implicit generalization. *)
+(* This option enables implicit generalization in arguments of the form
+ `{...} (i.e., anonymous arguments). Unfortunately, it also enables
+ implicit generalization in `Instance`. We think that the fact taht both
+ behaviors are coupled together is a [bug in
+ Coq](https://github.com/coq/coq/issues/6030). *)
+Global Generalizable All Variables.
+
(** * Tweak program *)
(** 1. Since we only use Program to solve logical side-conditions, they should
always be made Opaque, otherwise we end up with performance problems due to