I don't think we should fix this, because it would break code, but I do think we should document it.

Bifunctor law:

bimap id id = id

But actually,

bimap id id _|_ = (_|_, _|_)