Generic constraints where appropriate
Adding some 'verifiability' checking
Slightly smarter verifiability checking