That's where I started. But:

```elixir
iex(1)> :erlang.function_exported(:erlang, :insert_element, 3)
false
```


On Wed, Feb 27, 2013 at 7:13 AM, José Valim <notifications@github.com>wrote:

> In lib/elixir/lib/kernel.ex:
>
> > +  Define insert_elem to insert element into a tuple according to
> > +  Elixir conventions (i.e. it expects the tuple as first argument,
> > +  zero-index based).
> > +
> > +  It is implemented as a macro so it can be used in guards.
> > +
> > +  Please note that in versions of Erlang prior to R16B there is no BIF
> > +  for this operation and it is emulated by converting the tuple to a list
> > +  and back and is, therefore, inefficient.
> > +
> > +  ## Example
> > +
> > +      tuple = { :bar, :baz }
> > +      insert_elem(tuple, 0, :foo) #=> { :foo, :bar, :baz }
> > +  """
> > +  if :erlang.module_info[:exports][:insert_element] == 3 do
>
> :erlang.function_exported(:erlang, :insert_element, 3) :)
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/elixir-lang/elixir/pull/859/files#r3171884>
> .
>