Improve argument handling of constraint