Started building up the SSA implementation
More basic building blocks of the SSA system
added monad based bits to bring the pieces together