Wouldn't it be easier if you had class \MongoDB\Fluent\MongoInsertBatch extends \MongoInsertBatch implements \MongoDB\Batch {}
Then you can typehint on that interface, and add a getBatchType() function etc etc?