Thanks David.<br><br>I&#39;m glad to see it was discussed in the wiki.  (Btw, my 2 cents is that I like the comment pragmas more than new keywords.)<div><br></div><div>The issue that I think doesn&#39;t make it into the wiki is of splitting, not modules, but<b> type-classes</b>. That&#39;s where I think it becomes a more serious issue.</div>

<div><br></div><div>Do you think a symbol-level Safe Haskell would be able to distinguish one method of a type class as unsafe, while the others are safe?</div><div><br></div><div>  -Ryan</div><div><br></div><div>P.S. In my two examples -- </div>

<div>   There&#39;s only one &quot;Acc&quot; type and Accelerate&#39;s &quot;fold&quot; can pretty easily be moved into an .Unsafe module, though it breaks the one-giant-module-for-the-whole-programming-model thing it has going now.  In the Par example on the other hand type classes are used to abstract over different implementations, so that&#39;s where we run into the safe/unsafe factoring problem.</div>