move Constraint to its own file
lose foowriter
remove GetAllKeys, unused
replace 'applicable' test with tryType