anchor.diff:      end.
   
   
  +
  +-type key_id()   :: string() | binary() .
  +-type password() :: string() | binary() .
  +
  +-type engine_key_ref() :: #{engine :=   engine_ref(),
  +                            key_id :=   key_id(),
  +                            password => password(),
  +                            term() => term() 
  +                           }.
  +
   -type pk_algs() :: rsa | ecdsa | dss .
  --type pk_key()  :: map() | [integer() | binary()] .
  +-type pk_key()  :: engine_key_ref() | [integer() | binary()] .
   -type pk_opt()  :: list() | rsa_padding() .
   
   -spec public_encrypt(pk_algs(),  binary(), pk_key(), pk_opt()) -> binary().
  
positive.code:          engine_unload/1,
           engine_list/0
          ]).
  
  
  %% Private. For tests.
  
negative.code:                               engine_method_pkey_meths | engine_method_pkey_asn1_meths | 
                                engine_method_ec.
  
  -type engine_ref() :: term().
  
  -spec engine_get_all_methods() ->
      [engine_method_type()].
  engine_get_all_methods() ->
  