Just a tracking issue. - [ ] Add `Viewable<T>` interface to all compound types - [ ] Allow for recursive lazy encoding/decode when subtypes also implement `Viewable<T>`