Everything in this library happens in MonadEffect. Why? Because purescript-arraybuffer is all mutable and in MonadEffect. If there were an immutable frontend ArrayBuffer library, like Node Buffer, then we could refactor all of purescript-protobuf to be pure.
In the meantime, it is totally fine to run everything in unsafePerformEffect. rowtype-yoga/purescript-arraybuffer-builder#2