Вспомните все что Вы слышали - про ошибку из за которой null это Object, прочие рассуждения...
И задайте себе вопрос - какой единственный тип мы можем использовать в случае определения прототипа?
А потом вспомните, что Вы можете передать в
Object.setPrototypeOf( {}, {} ); // Ok
Object.setPrototypeOf( {}, null ); // Ok
Object.setPrototypeOf( {}, undefined ); // throw
Object.setPrototypeOf( {}, 'aaa' ); // throw
// etc...