Computes all permutations of an array using Heap's algorithm Read `recurse_naive` first, since we're building on top of the same intuition
(arr: &[T])
source not stored for this graph (policy: none)