Close #18.

Using a homemade constraint. This commit may be the origin of a future hell.