map does not accept no list: guile> (map (lambda (a) a))
Backtrace: In standard input: 1: 0* [map #<procedure #f (a)>] standard input:1:1: In procedure map in expression (map (lambda # a)): standard input:1:1: Wrong number of arguments to #<primitive-generic map> ABORT: (wrong-number-of-args) + and * have a "natural" identity (0 and 1), so it is not silly that (+ a) is (+ a 0) and (+) is (+ 0 0), but #t does not strike me as a natural identity for < -- (< 1 1) is #f. But I hate these kinds of discussions, so I defer...