Spell: Dynamically typed programming languages