         def unquote(k)(), do: unquote(v)
       end
 
-  In the example above, we have generated the function `foo/0` and
+  In the example above, we have generated the functions `foo/0` and
   `bar/0` dynamically. Now, imagine that, we want to convert this
   functionality into a macro:
 
       defmacro defkv(kv) do
-        Enum.each kv, fn { k, v } ->
+        Enum.map kv, fn { k, v } ->
           quote do
             def unquote(k)(), do: unquote(v)
           end

  because Elixir macros are hygienic, a topic we will discuss at length
  in the next sections as well.

  ### Hygiene in variables

  Consider the following example:


        end
      end

  `:bind_quoted` will translate to the same code as the example above.
  `:bind_quoted` can be used in many cases and is seen as good practice,
  not only because it helps us from running into common mistakes but also
  because it allows us to leverage other tools exposed by macros, such as
  unquote fragments discussed in some sections below.

  Before we finish this brief introduction, you will notice that, even though
  we defined a variable `x` inside our quote:
