«Ограничительные» версии арифметических операций
Процедура 
celsius-fahrenheit-converter
 выглядит громоздко по сравнению со стилем определения в формате выражения:
(define (celsius-fahrenheit-converter x)
  (c+ (c* (c/ (cv 9) (cv 5))
          x)
      (cv 32)))
(define C (make-connector))
(define F (celsius-fahrenheit-converter C))
Здесь 
c+
, 
c*
 и т. п. — «ограничительные» версии арифметических операций. Например, 
c+
 берет в виде аргументов два соединителя, и возвращает соединитель, который связан с ними ограничением-сумматором:
(define (c+ x y)
  (let ((z (make-connector)))
    (adder x y z)
    z))
Определите аналогичные процедуры для 
c-
, 
c*
, 
c/
 и 
cv
 (константа), так, чтобы можно было определять составные ограничения, как в вышеприведенном примере.
Комментарии отсутствуют.