doc/ref/spec.md: fix typos

This PR fixes 3 typos in the spec.

Closes #954
https://github.com/cuelang/cue/pull/954

GitOrigin-RevId: cbebd270d204885a44cd4c3dfb5c7688bc59a4a3
Change-Id: Id70a300a695390404297d44b32dd811f6fef7164
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/9781
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index 4537492..73ea06c 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -830,7 +830,7 @@
 
 ### Bottom and errors
 
-Any evaluation error in CUE results in a bottom value, respresented by
+Any evaluation error in CUE results in a bottom value, represented by
 the token `_|_`.
 Bottom is an instance of every other value.
 Any evaluation error is represented as bottom.
@@ -1973,7 +1973,7 @@
 
 <!--
 TODO: consider allowing this and also for selectors. It needs to be considered
-how defaults are corried forward in cases like:
+how defaults are carried forward in cases like:
 
     x: { a: string | *"foo" } | *{ a: int | *4 }
     y: x.a & string
@@ -2941,7 +2941,7 @@
 Note: this deviates from the Go spec where there is no such restriction.
 This restriction has the benefit of being to determine the identifiers
 for packages from within the file itself. But for CUE it is has another benefit:
-when using package hiearchies, one is more likely to want to include multiple
+when using package hierarchies, one is more likely to want to include multiple
 packages within the same directory structure. This mechanism allows
 disambiguation in these cases.
 -->