Because it is the only one that has a side-effect: registering an encoder for java.lang.Class. This falls under "extending a protocol we don't own to a type we also don't own" and is a generally dangerous thing to do, so it should be noted.