Expectations

PR #506 replacement for https://wiki.php.net/rfc/expectations