nLab
first class constraint