Module bounds

Various traits used to restrict intrinsics to not-completely-wrong types.

Traits