rewrote promise_type logic, reduce the shift/reduce error by 3 and is now logical correct + unit test for promise type unknown token