- Build RSA test cases from Haskell examples - Build DSA test cases from Haskell examples - Add negative test cases (RSA, DSA, ECDSA) - Make Point::double_scalar_mult() not truly awful - Use std::Default instead of the bespoke default() in Point? - Run rustfmt on this stuff - Run clippy on this stuff - De-macro. Surely some of this stuff could be turned into trait invocations? - Test cases for key generation - Better, timing-resistant ECC point math