Code Review

Compare your solutions

    (define (filtered-accumulate combiner null-value term a next b filter)
  (define (with-filter x result)
    (if (filter x)
        (combiner x result)
        result)
  )
  (define (iter a result)
    (if (= a b)
      (with-filter (term a) result)
      (iter (next a) (with-filter (term a) result))
      )
    )
  (iter a null-value)
  )