// f : A -> Collection
// trace_out collects what the function returns
// returns hashset including input
static Set transitiveHull(O f, A input, O... _) {
ret transitiveHullOfFunction(f, input, _);
}
static Set lambdaMapLike transitiveHull(IF1> f, A input, O... _) {
ret transitiveHullOfFunction(f, input, _);
}