-- @'binomial' n k@ returns @n `choose` k@ for @n, k <= 15@
binomial :: Int -> Int -> Int
binomial n k
  | 0 <= n, n <= _N, 0 <= k, k <= _N = fromIntegral $ P.unsafeIndex (V.unsafeIndex bin n) k
  | otherwise = error "binomial: out of range"
binomial :: Int -> Int -> Int
binomial n k
  | 0 <= n, n <= _N, 0 <= k, k <= _N = fromIntegral $ P.unsafeIndex (V.unsafeIndex bin n) k
  | otherwise = error "binomial: out of range"
binomial n k
  | 0 <= n, n <= _N, 0 <= k, k <= _N = fromIntegral $ P.unsafeIndex (V.unsafeIndex bin n) k
  | otherwise = error "binomial: out of range"