Here is an even more minimal example:
def curry0_(f :: () -> r) :: () -> r: return f(...) def curryio0_(f :: () ->io r) :: () ->io r: return f(...)
The problem is because the closure template for partially-applying f is being given the same name in both instances: "ct:ty:v1f1:0".
Here is an even more minimal example:
def curry0_(f :: () -> r) :: () -> r:
return f(...)
def curryio0_(f :: () ->io r) :: () ->io r:
return f(...)
The problem is because the closure template for partially-applying f is being given the same name in both instances: "ct:ty:v1f1:0".