Abstract Gradually typed languages are designed to support both dynamically and statically programming styles while preserving the benefits of each. Sound gradually check types at runtime boundary between modules. However, there is much disagreement in gradual typing literature over how enforce complex such as tuples, lists, functions objects. In this paper, we propose a new perspective on desi...