constraint edge cases