The BentoBox is not only out of scope, it is not part of the project. That file serves as a reference only, and as a base for the mock BentoBox we use for testing.
The zero check on collateral is not to somehow check that parameter; it is to ensure init() cannot be called twice.
. Bad coding practices:
asset
not checked at NFTPair.sol#L177asset
not checked at NFTPairWithOracle.sol#L194