diff --git a/3394_annotations/annotations.md b/3394_annotations/annotations.md
index 6b3bb6fc..e1fb1ef2 100644
--- a/3394_annotations/annotations.md
+++ b/3394_annotations/annotations.md
@@ -713,7 +713,7 @@ static_assert(!extract(annotations_of(^C::b)[0]).value);
consteval vector annotations_of(info item, info type);
```
-[#]{.pnum} *Constant When*: `annotations_of(item)` is constant and `dealias(type)` is a reflection representing a complete class type.
+[#]{.pnum} *Constant When*: `annotations_of(item)` is constant and `dealias(type)` is a reflection representing a complete type.
[#]{.pnum} *Effects*: If `dealias(type)` represents a class template specialization with a reachable definition, the specialization is instantiated.
@@ -729,7 +729,7 @@ template
[#]{.pnum} *Constant When*: `V` is a core constant expression and either:
* [#.#]{.pnum} `V.size() <= 1`, or
-* [#.#]{.pnum} all the reflections in `V` compare equal.
+* [#.#]{.pnum} all the values of the reflections in `V` compare equal.
[#]{.pnum} *Returns*: If `V.empty()`, then `std::nullopt`. Otherwise, `extract(V[0])`.
@@ -738,11 +738,7 @@ template
consteval bool has_annotation(info item);
```
-[#]{.pnum} Let `V` be `annotations_of(item, ^T)`.
-
-[#]{.pnum} *Constant When*: `V` is a core constant expression.
-
-[#]{.pnum} *Returns*: `V.empty()` is `false`.
+[#]{.pnum} *Effects*: Equivalent to `return !annotations_of(item, ^T).empty();`
```cpp
template
@@ -753,7 +749,7 @@ template
[#]{.pnum} *Constant When*: `V` is a core constant expression.
-[#]{.pnum} *Returns*: `true` if there exists a reflection `r` in `V` such that `r == std::meta::reflect_value(value)`. Otherwise, `false` [This checks for template-argument-equivalence, it does not invoke either a built-in or user-provided `operator==`]{.note}.
+[#]{.pnum} *Returns*: `true` if there exists a reflection `r` in `V` such that `value_of(r) == std::meta::reflect_value(value)`. Otherwise, `false` [This checks for template-argument-equivalence, it does not invoke either a built-in or user-provided `operator==`]{.note}.
::: example
```cpp
diff --git a/3394_annotations/p3394r1.html b/3394_annotations/p3394r1.html
index f1da8716..96505496 100644
--- a/3394_annotations/p3394r1.html
+++ b/3394_annotations/p3394r1.html
@@ -1607,7 +1607,7 @@ 4
Constant When : annotations_of( item)
is constant and dealias( type)
-is a reflection representing a complete class type.
+is a reflection representing a complete type.
5
Effects : If dealias( type)
represents a class template specialization with a reachable definition,
@@ -1628,8 +1628,8 @@
V. size() <= 1 ,
or
(8.2)
-all the reflections in V
compare
-equal.
+all the values of the reflections in
+V
compare equal.
9
Returns : If V. empty()
,
@@ -1639,26 +1639,19 @@
template < class T>
consteval bool has_annotation( info item) ;
10
-Let V
be annotations_of( item, ^ T)
.
-11
-Constant When : V
is a core
-constant expression.
-12
-Returns : V. empty()
-is
-false
.
+Effects : Equivalent to return ! annotations_of( item, ^ T). empty() ;
template < class T>
consteval bool has_annotation( info item, T const & value) ;
-13
+
11
Let V
be annotations_of( item, ^ T)
.
-14
+
12
Constant When : V
is a core
constant expression.
-15
+
13
Returns :
true
if
there exists a reflection r
in
-V
such that r == std:: meta:: reflect_value( value)
.
+V
such that value_of( r) == std:: meta:: reflect_value( value)
.
Otherwise,
false
[ Note 1: This checks for
template-argument-equivalence, it does not invoke either a built-in or