Completing my first answer with tings that came up after:

  * `converters` currently are a bit unsafe. They can happily trigger ambiguous 
calls when a converter to numeric type exist. I don't mind them going 
especially if the int literals stuff is sorted out. Or it would be nice if we 
could restrict implicit conversion like it can be done to template: 
[https://github.com/nim-lang/Nim/issues/7520](https://github.com/nim-lang/Nim/issues/7520)
  * `discardable`, I feel this should be explicit by default, too easy to 
discard error codes. Can be moved to sugar.nim
  * `TaintedString`: it's a good idea, reminds me a bit of the Haskell IO Monad 
in practice though, a bit cumbersome to use. At the very least parseutils 
should provide useful proc to deal with those otherwise I guess everyone is 
just doing $tainted. Also it's another concept that will surprise 
(delight/block?) newcomers.
  * `methods`: I rely on them for the neural net part of Arraymancer, I don't 
mind them going as long as the performance is similar of faster as I call them 
several times per second and Nim's methods have very low overhead especially 
when inlined (only 3x the proc cost).
  * `do`: Yeah it's a super strange notation, I do need a way to have multiline 
arguments though.


Reply via email to