Implement ~> and ~>> without recursive invocations