That example is using tabs for both indentation and alignment. The article you linked even says not using tabs for alignment is a solution.
- Do not use tabs for alignment. In such case given example should look like:
fun foo x =
--->let val abs = if x > 0
---> then x
---> else -x
--->in
--->--->(* ... *)
--->end