memory safe version of `or`, and added syntax for it to StreamDecoder