Unexpected AlignToByte befor subtype parsing
I try to parse a binary stream with subtypes. There is no alignment in my data and my ksy uses only bits. The subtype is selected by switch and in that case there is an AlignToByte inserted which leads to an unexpected result. The subtype is expected to continue from the last bit read bevore subtype and not from an aligned position. By removing the unexpected AlingToByte manualy from generated code everything works fine.

Am I doing anything wrong? Is there a solution? Thanks a lot for your support.

Used kaitai version: 0.9
Output: csharp

**Sample:**

```ksy
meta:
  id: nmea

seq:
  - id: feature
    type: b8
  - id: report_kind
    type: b2
  - id: detail
  
type:
    switch-on: report_kind
    cases:
      0: nmea_position
      1: nmea_velocity

types:
    nmea_position:
      seq:
          - id: quality_indicator
            type: b1
          - id: latitude_north
            type: b1
          - id: latitude_deg
            type: b7
          - id: latitude_min
            type: b6
          - id: latitude_min_decimal_part
            type: b10
          - id: longitude_east
            type: b1
          - id: longitude_deg
            type: b8
          - id: longitude_min
            type: b6
          - id: longitude_min_decimal_part
            type: b10

nmea_velocity:
    seq:
      - id: quality_indicator
        type: b1
      - id: heading
        type: b9
      - id: speed_kmh
        type: b8
```

**Result:**

```csharp
    private void _read()
    {
        _feature = m_io.ReadBitsIntBe(8);
        _reportKind = m_io.ReadBitsIntBe(2);
        m_io.AlignToByte();
        switch (ReportKind) {
        case 0: {
            _detail = new NmeaPosition(m_io, this, m_root);
            break;
        }
        case 1: {
            _detail = new NmeaVelocity(m_io, this, m_root);
            break;
        }
        }
    }
```