changed Or from type constructor to typed wrapper of value