<?hh

function postInc(&$x) {
  return $x++;
}

function preInc(&$x) {
  return ++$x;
}

function postDec(&$x) {
  return $x--;
}

function preDec(&$x) {
  return --$x;
}

$x = 2;
var_dump(postInc($x));
var_dump($x);
var_dump(preInc($x));
var_dump($x);
var_dump(postDec($x));
var_dump($x);
var_dump(preDec($x));
var_dump($x);

$y = 2.5;
var_dump(postInc($y));
var_dump($y);
var_dump(preInc($y));
var_dump($y);
var_dump(postDec($y));
var_dump($y);
var_dump(preDec($y));
var_dump($y);

$f = false;
var_dump(postInc($f));
var_dump($f);
var_dump(preInc($f));
var_dump($f);
var_dump(postDec($f));
var_dump($f);
var_dump(preDec($f));
var_dump($f);

$t = true;
var_dump(postInc($t));
var_dump($t);
var_dump(preInc($t));
var_dump($t);
var_dump(postDec($t));
var_dump($t);
var_dump(preDec($t));
var_dump($t);
