I'm building one too in Rust and there exist a very nice concept:
https://doc.rust-lang.org/std/convert/trait.From.html
Is the first time I see a blessed way into a lang to define conversions.
For example, to parse strings into int you need to say (in pseudo-code):
convert::From(String) -> Int //Or better convert::TryFrom
and suddenly you get the way to convert to strings into ints EVERYWHERE.Is amazing.
The key here is that is for much more than just basic stuff. You can do a lot of very convoluted things here, like Auto-Convert a vector of ints into a Zip compressed stream in one go.
----
The second things required is how avoid the boilerplate when dealing with data. If I read a file and need a lot of parsing and validation and need to be relaxed about this... how about the same thing between eager and lazy?
- Have "strict" by default and need to manually do
1->Str + "hello" + today->Str + ...
calls- Have a "auto-convert" when need to chain a lot of steps:
auto {
1 + "hello" + today + ...
}
this is nice because you can see where the " big dirty vicious beasts full of mistakes and traps" are in your code!