Please construct a meaningful $message from $expectedValueType and $dataValueType if not given (perhaps don't even allow the $mesage to be given explicitly, or just include the explicit one in the auto-generated one).