Simon Peyton-Jones wrote: > If it's tail recursive it'll be compiled to a loop. You don't need a pragma. The ~pragma is in order to make an error if it's not a loop. Same way as we don't need type-signatures in export lists and their only purpose is to cause errors when something unexpected and undesirable happens. Isaac