https://hgpu.org/?p=3125
Object-oriented stream programming using aspects