pepe wrote: > But traceM will only work on non-lazy monads, such as Either or Maybe. That's exactly what you expect from a call to trace: if it doesn't get evaluated, its message isn't output. Martijn.