renamed some stuff
Finally got the Monad/Traversable combo to work.
Got rid of the dependent type in the type class by including it as a
parameter.  Now the type class has 4 parameters, which seems like a bit
much.
But now you can use "as" to putStrLn an array of strings, no problem.