Today, any of the following cases are supported.
@JSFunction func c1() throws -> ([Int]) -> Void
@JSFunction func c2(_ f: JSTypedClosure<([String]) -> Void>) throws -> Void
@JS func c3() -> JSTypedClosure<() -> [Int]>
@JS func c4(_ f: () -> [String]) -> Void
I think we need to unify closure glue codegen part with the rest of import/export codegen.