Making `as` an operator

Related previous discussions: