You can also compute in data-types, so you can use fix points, but of course you lose control of a termination. You can introduce suitable constance and recurses but this is a little artificial. A very interesting approach is to represent computable function in a fixed-point free fashion.
There are various techniques that we have discussed in the course due to Böhm which are applicable to a very large plus of iterative and recursive functions over algebraic data types with binders over variables, which are called binding algebras.