Use cl-labels, indentation

Switch from cl-flet to cl-labels to support recursive call and fix indentation.