1 Sep = List +
2 consts sep :: "'a * 'a list => 'a list"
3 recdef sep "measure (%(a,xs). length xs)"
4 "sep(a, []) = []"
5 "sep(a, [x]) = [x]"
6 "sep(a, x#y#zs) = x # a # sep(a,y#zs)"
7 end