typed/racket doesn't allow ignoring multiple return values added by meganeka on Sun May 27 19:36:31 2018

#lang typed/racket

(: foo (-> (-> (Values String)) String))
(define (foo f) (f))

(: bar (-> (Values String String)))
(define (bar)
  (values "foo" "bar"))

(foo bar)

;; multiple-values.rkt:10:5: Type Checker: type mismatch
;;   expected: (-> String)
;;   given: (-> (values String String))
;;   in: bar
;;   context...:
;;    /usr/share/racket/pkgs/typed-racket-lib/typed-racket/typecheck/tc-toplevel.rkt:314:0: type-check
;;    /usr/share/racket/pkgs/typed-racket-lib/typed-racket/typecheck/tc-toplevel.rkt:552:0: tc-module
;;    /usr/share/racket/pkgs/typed-racket-lib/typed-racket/tc-setup.rkt:82:0: tc-module/full
;;    /usr/share/racket/pkgs/typed-racket-lib/typed-racket/typed-racket.rkt:24:4