rename interpret to apply
encapsulate applicative algorithm
semi-colons
wip on shuffle
duplication tests