(use-modules (srfi srfi-1))
; only for the nice test
#!curly-infix
(define-syntax fast-sum
(syntax-rules (iota)
((fast-sum (iota count start))
(+ 1
(apply -
(map (lambda (x) (/ {x * {x + 1} } 2))
(list {count + {start - 1}} start)))))
((fast-sum e)
(apply + e))))