language-object in Contract Helpers

(object-contract
  (config-panel
    (-> (is-a?/c area-container<%>) (case-> (-> any/c void?) (-> any/c))))
  (create-executable
    (->
     any/c
     (union (is-a?/c dialog%) (is-a?/c frame%))
     path?
     drscheme:teachpack:teachpack-cache?
     void?))
  (default-settings (-> any/c))
  (default-settings? (-> any/c boolean?))
  (order-manuals (-> (listof bytes?) (values (listof bytes?) boolean?)))
  (front-end/complete-program
    (-> input-port? any/c drscheme:teachpack:teachpack-cache? (-> any/c)))
  (front-end/interaction
    (-> input-port? any/c drscheme:teachpack:teachpack-cache? (-> any/c)))
  (get-language-name (-> string?))
  (get-language-numbers (-> (cons/c number? (listof number?))))
  (get-language-position (-> (cons/c string? (listof string?))))
  (get-language-url (-> (union false/c string?)))
  (get-one-line-summary (-> string?))
  (get-comment-character (-> (values string? char?)))
  (get-style-delta
    (->
     (union
      false/c
      (is-a?/c style-delta%)
      (listof (list/c (is-a?/c style-delta%) number? number?)))))
  (marshall-settings (-> any/c printable/c))
  (on-execute (-> any/c (-> (-> any) any) any))
  (render-value (-> any/c any/c output-port? void?))
  (render-value/format (-> any/c any/c output-port? number? any))
  (unmarshall-settings (-> printable/c any)))