- clear deletes stack at once, not in a loop - make uncons basis and define first and rest in tems of it