The design of the E programming language