Why constraints can be a good thing for design