The exact shape of this isn't super clear, yet, but either a set of opaque types and bound functions, or pure Alan code on top of a thin wrapper over wgpu/WebGPU is needed to construct an AST to serialize to wgsl and then execute on the GPU.
This is the purpose of Alan v0.2