   end
 
   def s(module, []) do
-    specs = lc spec inlist Kernel.Typespec.beam_specs(module), do: print_spec(spec)
+    specs = lc spec inlist beam_specs(module), do: print_spec(spec)
 
     if specs == [] do
       IO.puts "No specs for #{inspect module} have been found"

    :ok
  end

  defp print_type({ kind, type }) do
    ast = Kernel.Typespec.type_to_ast(type)
    IO.puts "@#{kind} #{Macro.to_binary(ast)}"
    true
  end

  defp print_spec({ { name, _arity }, specs }) do
    Enum.each specs, fn(spec) ->
      binary = Macro.to_binary Kernel.Typespec.spec_to_ast(name, spec)
      IO.puts "@spec #{binary}"
    end
    true
  end


  @doc false
  def s(module, function, arity) do
    spec = List.keyfind(beam_specs(module), { function, arity }, 0)

    if spec do
      print_spec(spec)
