In some cases passing the wrong device to the connect function could cause serious problems, therefore it would be dangerous to automatically pass the result of reading the signature.
In the vast majority of cases we would expect custom software to only support a very small subset of devices in a particular device family, which would make constructing a signature lookup table trivial. This approach inherently provides sanity checking of what devices are expected.
Andy