Type checking fails for later declared type with strict_types

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4351

Reported by Markus Johansson, Opera Software markus@opera.com

Compiling this will result in:
foo.pike:5: Warning: Arguments not strictly compatible.
foo.pike:5: Warning: Expected: function(zero | void ... : object(is 65620))
foo.pike:5: Warning: Got     : function(string : void | mixed)

Same in 7.6 and 7.7.

foo.pike:
#pragma strict_types

int main(int argc, array(string) argv)
{
	String("");
}

class String(string s) { }