Strictify terms.

This is mostly since it helps me detect errors in the constructions of
terms when they happen.  Performance doesn't seem to be too affected.
If we realize that it's a big problem we can have a lazy term type.