More than one layer of process
Hi lets say I have 10 bytes and I want to run a custom `process` on them that outputs 9 bytes and than depends on the first byte value run one of two other `process`es on the remaining 8 bytes (and then maybe another process but I think you got the idea).
something like this:
I hope this kaitai psuedo code is clear enough
``` yaml
meta:
  id: kaitai
  endian: be
seq:
  - id: p
    size: 10
    process: my_processor1
  - id: p1
    type: process2(p)
    if: p[0] == 0
  - id: p2
    type: process3(p)
    if: p[0] == 1

types:
  process2:
    params:
      - id: payload
        size: 8
    seq:
      - id: p
        contents: payload
        process: my_processor2
      - id: data
        type: data(p)
  process3:
    params:
      - id: payload
        size: 8
    seq:
      - id: p
        contents: payload
        process: my_processor3
      - id: data
        type: data(p)
  data:
    params:
      - id: payload
        size: 4
    seq:
      - id: a
        type: u2
        value: (payload[0]<<8)+payload[1]
      - id: b
        type: u2
        value: (payload[2]<<8)+payload[3]
```
Is that possible to achieve only using kaitai?
And another question how to cast byte array to integers? (and if possible bit sized integers?)