(assert target-fn (cast args target-types) valid)