If it's pure, there's no benefit to a list of forms in lambda. As only the last one would do anything. If define is a mutator, the language isn't pure. So 2 and 4 are in conflict.
Perhaps it is pure excepting the top level, where mutations such as define are permitted.