Type juggling in function declarations
<p>I'm just playing around here, my code:</p>

<pre><code>&lt;?php

function test(string $str, array $arr = array()) {
    echo $str;
}
test('something');
</code></pre>

<p>Which results in:</p>

<p>Catchable fatal error: Argument 1 passed to test() must be an instance of string, string given</p>

<p>I'm curious why I can precede <code>$arr</code> with <code>array</code> without any problems, but I cannot precede <code>$str</code> with <code>string</code>?</p>
