With some error checking:
(define-syntax -->
(syntax-rules ()
( [_ pairs body] (let pairs body))
( [_ (k-v ...) k v more ...] (--> (k-v ... (k v)) more ...))
( [_ thing] (syntax-error "Error in macro -->."))
( [_ more ...] (--> () more ...))))
gosh> (lambda () (--> a 2 b (list a b)) )
*** ERROR: Compile Error: Error in macro -->.