   default values for keys, tags to be used in polymorphic
   dispatches and compile time assertions.
 
-  To define a struct, you just need to implement the `__struct__/1`
+  To define a struct, you just need to implement the `__struct__/0`
   function in a module:
 
       defmodule User do

          :exit_b
      end

  This means the VM nolonger needs to keep the stacktrace once inside
  an else clause and so tail recursion is possible when using a `try`
  with a tail call as the final call inside an else clause. The same
  is true for rescue and catch clauses.

  @doc """
  Creates a map.

  Maps are key-value stores where keys are compared 
  using the match operator (`===`). Maps can be created with
  the `%{}` special form where keys are associated via `=>`:

      %{ 1 => 2 }

  Maps also support the keyword notation, as other special forms,
  as long as they are at the end of the argument list:

      %{ hello: :world, with: :keywords }
      %{ :hello => :world, with: :keywords }
