Parse and consume binary streams with a neat DSL