Implement dependency injection using dice?

I'm currently using this dependency injection container called dice. I've been getting on with it fine for the most part, untill it recently started throwing an error.

array_merge(): Argument #2 is not an array

A screenshot of the error (whoops view) can be seen here: https://i.imgur.com/SjHAUvd.png

I'm trying to use Dice to send parameters to my controllers constructors constructor, let me explain that why showing you it from a code perspective.

class LoginController {

    private $template;

    public function __construct(Template $template) {
        $this->template = $template;
    }

    public function getView() {
        $this->template->renderTemplate('index.html');
    }

}

class Template {

    private $environment;

    public function __construct(\Twig_Environment $environment) {
        $this->environment = $environment;
    }

    public function render($template, array $vars) {
        return $this->environment->render($template, $vars);
    }

}

As you can see, LoginController requires an instance of Template class, and the constructor in Template requires the Twig_Environment instance. If you look here you'll see how its usually done.

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
    'cache' => '/path/to/compilation_cache',
));

In my code, I create the controller that my route needs and add rules for the parameters passed to LoginController and Template, see the below example.

switch ($routeInfo[0]) {
    case FastRoute\Dispatcher::NOT_FOUND:
        echo '404 Not Found';
        break;
    case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
        $allowedMethods = $routeInfo[1];
        echo '405 Method Not Allowed';
        break;
    case FastRoute\Dispatcher::FOUND:
        $rule = [
            "constructParams" => '/path/to/templates',
            "shared" => true,
        ];
        $dice->addRule("Twig_Loader_Filesystem", $rule);

        $rule = [
            "constructParams" => [$dice->create("Twig_Loader_Filesystem"), array('cache' => '/path/to/compilation_cache')],
            "shared" => true,
        ];
        $dice->addRule("Twig_Environment", $rule);

        $rule = [
            "constructParams" => [$dice->create("App\Providers\Template")],
        ];
        $dice->addRule("LoginController", $rule);

        $controller = $dice->create($routeInfo[1][0]());
        $controller->{$routeInfo[1][1]}($routeInfo[2]);
        break;
}

Even after all of this, I still receive the error from the Dice package.

Whoops \ Exception \ ErrorException (E_WARNING) array_merge():
Argument #2 is not an array