       iex> tuple = {}
       iex> Record.is_record(tuple)
       false
+      iex> other_term = "not a record"
+      iex> Record.is_record(other_term)
+      false
 
   """
   defmacro is_record(data) do

defmodule Record do
  @moduledoc """
  Module to work with, define and import records.

  Records are simply tuples where the first element is an atom:


        Record.defrecord :my_rec, Record.extract(...) |> Keyword.merge(fun_field: &__MODULE__.foo/2)
        def foo(bar, baz), do: IO.inspect({bar, baz})
      end

  """
  defmacro defrecord(name, tag \\ nil, kv) do
    quote bind_quoted: [name: name, tag: tag, kv: kv] do
