anchor.diff:  /**
    * Utility methods for working with message digests.
    */
  -class CryptoUtils {
  +abstract class CryptoUtils {
     /**
      * Convert a list of bytes (for example a message digest) into a hex
      * string.
  
positive.code:  * The [update] method is used to add data to the message. The [digest] method
   * is used to extract the message authentication code.
   */
  interface HMAC default _HMAC {
    /**
     * Create an [HMAC] object from a [Hash] and a key.
     */
    HMAC(Hash hash, List<int> key);
  
    /**
     * Add a list of bytes to the message.
  
negative.code:  * If multiple instances of a given Hash is needed the [newInstance]
   * method can provide a new instance.
   */
  abstract class Hash {
    /**
     * Add a list of bytes to the hash computation.
     */
  