utilities library (currently only contains n choose k)