not a definitive list:
- 4-spaces for indentation
- don't use bytestring directly, use the
memory
abstraction - hard errors should represented by the equivalent Crypto.Error.Types. Possibly reuse a matching value, otherwise create one.
- don't use 'error', use throwCryptoError (or the IO cousin) if needed
- don't add dependencies without a really really really strong motivation. only exception:
foundation