Using Schema for decoding raw bytes? Bad idea?

I'm trying to use Schema for decoding byte data and I'm starting to suspect I've been misusing the API:
https://effect.website/play/#a071a69616ad (skip to bottom of code for the important part)

Two questions:
1. Is the implementation of DemoPlayerTick operating at the correct level of abstraction? My decode function feels... weird.
2. I'm relying more on lower-level library constructs than might feel normal... kinda like the API designer is trying to tell me this isn't how they want Schema used? If so, I'm hoping someone can recommend a sound alternative decode lib with first-class Effect support?
Was this page helpful?