On Wed, Sep 21, 2011 at 20:05, Edward Kmett <ekmett@gmail.com> wrote:
I usually enforce constraints like this with ! patterns in the constructors, which lets me enforce the fact that at least I know that any attempt to define a cycle like this will bottom out, so I can safely think only inductive thoughts from there out.

But strictness annotations act at runtime (assignment time); he wants *compile* time, which puts him into more interesting type territory.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms