what becomes of the string parts of the Writer monads

multWithLog keeps [String] and outputs Int

to fully benefit from Writer [String] Int, you'd call e.g. runWriter or execWriter

similar to other State state out monads, 

m state out lets you get/set/keep state as needed without passing it as an arg. state is there if you need it.