Programming Decision Structures