Pull from lambdalounge/language_shootout_2013