anchor.diff:                               Curves :: [ec_named_curve() | edwards_curve_dh() | edwards_curve_ed()],
                                RSAopts :: [rsa_sign_verify_opt() | rsa_opt()] .
   supports() ->
  -     [{hashs, hash_algorithms()},
  -      {ciphers, prepend_old_aliases( cipher_algorithms())},
  -      {public_keys, pubkey_algorithms()},
  -      {macs, mac_algorithms()},
  -      {curves, curve_algorithms()},
  -      {rsa_opts, rsa_opts_algorithms()}
  +     [{hashs,       supports(hashs)},
  +      {ciphers,     prepend_old_aliases(supports(ciphers))}
  +      | [{T,supports(T)} || T <- [public_keys,
  +                                  macs,
  +                                  curves,
  +                                  rsa_opts]
  +        ]
        ].
   
   
  
positive.code: -spec enable_fips_mode(Enable) -> Result when Enable :: boolean(),
                                                Result :: boolean().
  enable_fips_mode(Enable) ->
      enable_fips_mode_nif(Enable).
  
  enable_fips_mode_nif(Enable) -> ?nif_stub.
  
  %%%================================================================
  %%%
  
negative.code:                              Curves :: [ec_named_curve() | edwards_curve_dh() | edwards_curve_ed()],
                               RSAopts :: [rsa_sign_verify_opt() | rsa_opt()] .
  
  -define(CURVES, '$curves$').
  
  supports(hashs)       -> hash_algorithms();
  supports(public_keys) -> pubkey_algorithms();
  supports(ciphers)     -> cipher_algorithms();
  supports(macs)        -> mac_algorithms();
  supports(curves)      -> cached_curve_algorithms();
  supports(rsa_opts)    -> rsa_opts_algorithms().
  
  
  