import java.lang.String;


public class Bug363 {
  uncurry (f){
    return x -> f.apply(x);
  }

  uncurry (f){
    return (x, y) -> f.apply(x).apply(y);
  }

  uncurry (f){
    return (x, y, z) -> f.apply(x).apply(y).apply(z);
  }

  public test(){
    var f = x -> y -> z -> x + y + z;
    var g = uncurry(f);
    return g.apply("A", "B", "C"); // Outputs: 6
  }
}
