support for Cascadings optional types

This adds supports for Cascadings optional types. Cascading Lingual uses this internally and this PR adds support for reading and writing Tuples, that have types.