; /home/scolobb/Candies/prj/racket/dds/utils.rkt:456:20: Type Checker: Polymorphic function `in-values-sequence' could not be applied to arguments:
; Argument 1:
; Expected: (Sequenceof a ... a)
; Given: SequenceTop
;
; in: (in-values-sequence (apply in-parallel lsts))
Wow, thank you very much @Kalimehtar ! I was re-reading the doc of the type of -> this morning, but I didn't see how I could make it work.
In fact, I thought that ... could only be used between the arguments of the function, and your solution shows that ... is much more powerful than I thought. Awesome!
> in-parallel
- : (All (a ...) (-> (Sequenceof a) ... a (Sequenceof a ... a)))
#<procedure:in-parallel>
Then I thought, that Type Checker cannot take finite list of types (a ...) when in (apply in-parallel lst)lst has (Listof ...) type. I tried with (List ..): it works. Then I build correct type like given type of in-parallel.