double-and-add shit as an 'unfold'

** NOT TESTED NOR DRY RUN **
functional programming ftw!