Demand analysis --------------- This analysis assigns to each operation a list of argument positions (e.g., [1] for the first argument) which are demanded in order to reduce this operation to some constructor-rooted value.