40 columns                              |
>>> indentation
if(true){return 42;}else{return 13;}}
<<<
if (true) {
  return 42;
} else {
  return 13;
}
>>> nested
if (true){
if (true){
if (true){
return true;
} else{
return false;
}
}
}else{
return false;
}
<<<
if (true) {
  if (true) {
    if (true) {
      return true;
    } else {
      return false;
    }
  }
} else {
  return false;
}
>>> single-expression then body
if(true)print("true!");
<<<
if (true) print("true!");
>>> block then body
if(true){print("true!");}
<<<
if (true) {
  print("true!");
}
>>> single-expression else body
if(true)print(1);else print(0);
<<<
if (true) print(1);
else print(0);
>>> chained else if
if (0 == 0) {
  zero = 0;
} else if (0 == 1) {
  zero = 1;
} else if (0 == 2) {
  zero = 2;
}
<<<
if (0 == 0) {
  zero = 0;
} else if (0 == 1) {
  zero = 1;
} else if (0 == 2) {
  zero = 2;
}