このコードを実行すると
class Kernel
{
    private $settings = array();
    public function handle(Settings $conf)
    {
        $this->settings = $conf;
        return $this;
    }
    public function run()
    {
        var_dump($this->settings);
    }
}
class Settings
{
    public static function appConfig()
    {
        return array(
            'database' => array(
                'hostname' => 'localhost',
                'username' => 'root',
                'password' => 'test',
                'database' => 'testdb'
            )
        );
    }
}
$kernel = new Kernel;
$kernel->handle(Settings::appConfig())->run();
エラーが発生します
Catchable fatal error: Argument 1 passed to Kernel::handle() must be an instance of Settings, array given, called in....
タイプヒントはインスタンスに対してのみ機能し、静的メソッドに対しては機能しないということですか? 静的メソッドの型ヒントを実現する方法は?