Fix obviously wrong conditional
Remove needless parameters.
Better not give the impression the function isn't bound to outer scope (or else make it independent and add the argument  `requirements` too)
Store created assert and reuse.
This makes it clearer when asserts need to be created and is more efficient.
Merge pull request #784 from marcandre/constraints_modifs

Constraints modifs