what I want:
implicit, static, strong, duck typing
first-class everything (functions, expressions, closures, types, the 'return' keyword...)
algebraic types and structs that are equivalent
dependency injection as a language-level feature
everything is a pure function but I can still get data from the database/filesystem/interwebs, and emit logging / tracing so my program can explain why it decided whatever it did
code is implicitly (?) parallel
no exceptions that break control flow