I see functions marked with "nothrow", but inside they have:
try {
...
}
catch (Exception e)
{
assert(0, "FracSec's constructor threw when it shouldn't have");
}
This is redundant, and adds significant bloat. The compiler will statically
check that the nothrow is enforced for you.