Actually, this only happens if you also include a pure function with the same signature (sans io). So if you import the prelude, it will crash because of curry2_, but in isolation the above code won't crash. So here is a complete program that exhibits this error:
def curry2_(f :: (a, b) -> r, x :: a) :: b -> r:
return f(x, ...)
def curryio2_(f :: (a, b) ->io r, x :: a) :: b ->io r:
return f(x, ...)
Actually, this only happens if you also include a pure function with the same signature (sans io). So if you import the prelude, it will crash because of curry2_, but in isolation the above code won't crash. So here is a complete program that exhibits this error:
def curry2_(f :: (a, b) -> r, x :: a) :: b -> r:
return f(x, ...)
def curryio2_(f :: (a, b) ->io r, x :: a) :: b ->io r:
return f(x, ...)