Fixed a few typos.
@@ -36,7 +36,7 @@ because we also need to select the events for an :ref:`aggregate <Aggregates>`
when reconstructing an aggregate from its events. The term 'aggregate sequence'
shall be used to refer to the sequence of events of an individual aggregate.
-3. We need domain events to be to **recorded in sequential order**
+3. We need domain events to be **recorded in sequential order**
in their aggregate sequence, because domain events will be generated
in sequential order, and used in sequential order to reconstruct the
state of the aggregate.
@@ -54,7 +54,7 @@ a **global sequence of event notifications** for the application
as a whole. The term 'application sequence' shall be used to refer
to the sequence of events of an application as a whole.
-6. We need event notifications to be to **recorded in sequential order**
+6. We need event notifications to be **recorded in sequential order**
in their application sequence, because we also need to propagate event
notifications in the order that they were recorded.
@@ -161,7 +161,7 @@ persistence module.
Stored event
============
-A stored event object represents a domain event in way that allows
+A stored event object represents a domain event in a way that allows
the domain event object to be reconstructed.
The library's :class:`~eventsourcing.persistence.StoredEvent` class
@@ -261,8 +261,8 @@ is a Python frozen dataclass.
The :class:`~eventsourcing.persistence.Tracking` class has a ``notification_id``
attribute which in a Python :data:`int` that indicates the position in an application
-sequence of an event notification that has been processed. And it an
-``application_name`` attribute which in a Python :data:`str` that identifies
+sequence of an event notification that has been processed. And it has an
+``application_name`` attribute which is a Python :data:`str` that identifies
the name of that application.
.. code-block:: python
