Although resembling the Ruby language in syntax, Crystal compiles to much more efficient native code using an [[LLVM]] backend, at the cost of precluding the dynamic aspects of Ruby. However, theThe advanced global type inference used by the Crystal compiler, combined with the use of [[union type]]s, gives Crystalit more the feel of a higher-level scripting language more so than many other comparable programming languages. The languageIt has automated garbage collection and currently offers a [[Boehm garbage collector|Boehm collector]]. Crystal possesses a macro system and supports generics as well as both method and operator overloading. Crystal'sIts concurrency model is inspired by [[communicating sequential processes]] (CSP) and implements light-weightlightweight fibers and channels (for communicatinginterfiber between fiberscommunication) inspired by [[Go (programming language)|Go]].<ref name="rel_0.18.0"/>