You should provide a contract/purpose for any helper function you define.
Your programs may contain only the following DrRacket constructs:
define define-struct cond else local begin
and the following primitive operators:
empty? cons? cons first rest list append
+ - * / = < > <= >=
string=? string-length symbol=? symbol? string? error filter map
and or not
set!
and the operators introduced by define-struct (including the set operators on structures)
You may, of course, use whatever constants are necessary (empty, true, false, 0, etc.)