. . "Allocating something empty and checking with type() is improper not just because of the useless object's instance, but even because you can not check, for example, if your object is a file without creating a file on filesystem (type(file()) fails because file() requires at least an argument)" . .