def True then: run else: skip {
  run.call();
}

def False then: skip else: run {
  run.call();
}

def Number.fibonacci(i) {
  (i==0) then: {
    return 0;
  } else: {
    (i==1) then: {
      return 1;
    } else: {
      return (this-1).fibonacci() +
             (this-2).fibonacci();
    }
  }
}

52.fibonacci()