   ## Enforcing keys
 
   When building a struct, Elixir will automatically guarantee all keys
-  belongs to the struct:
+  belong to the struct:
 
       %User{name: "john", unknown: :key}
       ** (KeyError) key :unknown not found in: %User{age: 21, name: nil}
 
-  Elixir also allows developers to enforce certain keys must always be
+  Elixir also allows developers to enforce that certain keys must always be
   given when building the struct:
 
       defmodule User do

      end

  It is recommended to only use the struct syntax when defining the struct's
  type. When referring to another struct it's better to use `User.t()` instead of
  `%User{}`.

  The types of the struct fields that are not included in `%User{}` default to

        defstruct [:title, :content, :author]
      end

  Add documentation to a struct with the `@doc` attribute, like a function.

      defmodule Post do
        @doc "A post. The content should be valid Markdown."
