### Problem description

Given a collection of distinct integers, return all possible permutations.

### Solution: insert-into-all-positions

Consider we have compute the permutations, denoted by set $S$ for integers with length n - 1. Each element $s \in S$ is a string:
$e_1e_2...e_k$. Now we compute the permutation for adding a new element. The inserting positions (underscore) are shown as follows:
$\_e_1\_e_2\_...\_e_k\_$. Thus, we implement it as a recursive function.

#### In OCaml

We implement the question in OCaml.