beginnings of standard library of type constraints