 
     quote do
       def new(), do: new([])
-      def new([]), do: { unquote(name), unquote_splice(defaults) }
-      def new(opts), do: { unquote(name), unquote_splice(selective) }
+      def new([]), do: { __MODULE__, unquote_splice(defaults) }
+      def new(opts), do: { __MODULE__, unquote_splice(selective) }
     end
   end
 

  #       { FileInfo, Orddict.fetch(opts, :atime, nil), Orddict.fetch(opts, :mtime, nil) }
  #     end
  #
  defmacro initializers(name, values) do
    # Get default values from the dictionary.
    defaults = Orddict.values(values)


      module __MODULE__ :: unquote(name) do
        require ::Record
        Record.getters_and_setters(unquote(values), 1, [])
        Record.initializers(unquote(values))
      end

      require __MODULE__ :: unquote(name), as: unquote(as)
