
perm([]) => [].
perm(x) => cons(h, perm(remove(h,x))).

remove(x, cons(y,t)) => cons(y, remove(x,t)).
remove(x, cons(x,t)) => t.
