New tests for nested case classes
Recursing properly for non-optional nested classes. Erasure is making optional ones tricky