 
   * `c/2` - compiles a file in the given path
   * `h/0`,`h/1`, `h/2` - prints help/documentation
-  * `t/1`, `t/3` — prints type information
-  * `s/1`, `s/3` — prints spec information
+  * `t/1`, `t/2`, `t/3` — prints type information
+  * `s/1`, `s/2`, `s/3` — prints spec information
   * `m/0` - prints loaded modules
   * `r/0` - recompiles and reloads the given module's source file
   * `v/0` - prints all commands and values

    end
  end

  defmacro s(module) do
    quote do
      s(unquote(module), :all)
    end
  end

  @doc false
  def s(module, :all) do
    specs = lc spec inlist Kernel.Typespec.beam_specs(module), do: print_spec(spec)

    if specs == [] do
      IO.puts "No specs for #{inspect module} have been found"
    end

    :ok
  end

  @doc """
  Prints the specs for a given function.

  ## Examples

      s(Enum.all?/2)
      s(Enum.t/0)

  """
  def s(module, function, arity) do

  ## Examples

      s(Enum)
      s(Enum.all?)
      s(Enum.all?/2)

  """
  defmacro s({ :/, _, [{ { :., _, [mod, fun] }, _, [] }, arity] }) do
