similar clarity and elegance of expression (crystal is a bit more beautiful i think)
both use significant whitespace
nim has better cross-platform and embedded support, as crystal targets llvm while nim targets c/c++/js
nim has more low-level support with the tradeoff of supporting dangerous things like raw pointers
crystal has better async imho