2D plotting for Julia. Winston offers an easy-to-use plot command to create figures without any fuss. After Winston is loaded by typing using Winston, the most basic plot can be created.
...The difference to Union-types is that types can be added to a trait after the creation of the trait, whereas Union types are fixed after creation. The cool thing about Tim's trick is that there is no performance impact compared to using ordinary dispatch. For a bit of background and a quick introduction to traits watch my 10min JuliaCon 2015 talk.