   def get_includes(nil), do: {:ok, []}
 
   def get_includes(module) do
-    case call_function(module, :get_includes, []) do
-      {:ok, paths} when is_list(paths) ->
+    case get_list(module, :get_includes, []) do
+      {:ok, paths} ->
         {:ok, Enum.filter(paths, &String.ends_with?(&1, ".html.eex"))}
 
       {:error, _} = error ->

    end
  end

  @doc false
  @spec get_assets(t()) :: Result.t(binary() | nil)
  def get_assets(module)


  def get_assets(module) do
    case call_function(module, :get_assets, []) do
      {:ok, path} when is_binary(path) ->
        do_get_assets(path)

      {:error, _} = error ->
        error

      x ->
        mod_name = module_name(module)
        msg = "#{mod_name}.get_assets: expected a string, got: #{inspect(x)}"

        {:error, msg}
    end
  end

