reduce assign expression case study... needs some more thinking...