I find it currently somewhat confusing what the order of arguments is
to restraints and score function constructors. I propose establishing
the convention that the unary function or the score function is always
first. Such a convention has several advantages:
Sounds fine to me. The convention should probably be documented in
Restraint.h and perhaps the score function headers so that people don't
forget, though.