Usando monad Transformer, y algun que otro retoque

Hay tienes el uso de la monad Trans..., hay cosas que no me terminan de convencer pero bueno, siento cambiarte la indentacion en algunos sectores por espacios(pero es que hasta en github se mal  XD) A ver si me conecto un poco mas en el irc