var obj = {
  get prop() {
    return this._prop = 1;
  },

  get method() {
    if (!this._prop) throw new Error('invalid evaluation order');
    return (v) => v;
  }
}

var result = obj.prop |> obj.method;
expect(result).toBe(1);
