   All incoming requests are tested against the routes in the order they are defined.
   If a request matches then the route action is invoked.
   """
-  defmacro route(match, request, config, do: actions) do
+  # TODO test for unexpected methods
+  defmacro route(match, request, config, do: actions = [{:->, _, _} | _]) do
     args = Enum.reject(match, &(is_binary(&1)))
     quote do
       if @route_name do

defmodule Tokumei.Router do
  @moduledoc """
  Route incoming HTTP requests by path and method.


  """
  defmacro route(match, do: actions) do
    quote do
      route unquote(match), _request, _config, do: unquote(actions)
    end
  end

