util.ss
#lang typed/scheme
(provide (all-defined-out))

(: cast (All (T) ((Any -> Boolean : T) Any -> T)))
(define (cast p? x)
  (if (p? x)
      x
      (error "Cast failed")))