Question 1: Why are there lazy and strict modules of some monads?  (e.g. Control.monad.State)  

Question 2:  If I define a new monad (say xyz), does it have to be as  control.monad.xyz  module?

daryoush