This and the following three routines raise an exception rather than returning NotImpemented when the argument is not compatible.