 
   ## Compile-time introspection
 
-  At the compile time, one can access following information about the record
+  At compile time, one can access the following information about the record
   from within the record module:
 
   * `@record_fields` — a keyword list of record fields with defaults
   * `@record_types` — a keyword list of record fields with types
 
-       defrecord Foo, bar: nil do
-         record_type bar: nil | integer
-         IO.inspect @record_fields
-         IO.inspect @record_types
-       end
+  For example:
+
+      defrecord Foo, bar: nil do
+        record_type bar: nil | integer
+        IO.inspect @record_fields
+        IO.inspect @record_types
+      end
 
   Prints out:
 

  ## Types

  Every record defines a type named `t` that can be accessed in typespecs.
  Those types can be passed at the moment the record is defined:

      defrecord User,
        name: "" :: string,
        age: 0 :: integer

  All the fields without a specified type are assumed to have type `term`.

  Assuming the `User` record defined above, it could be used in typespecs
  as follow:

  manipulate the record exclusively at compilation time.

  Please see the `Record` module's documentation for an introduction
  to records in Elixir.

  ## Examples

