Added multi-arity functionality

The basic-constraints function was a little unclear before but ther new
multy-arity argument lists should make it a little more clear.