Joel Drapper's thesis: full static type safety in Ruby is unattainable (metaprogramming, massive un-annotated codebases), but fully dynamic is unsafe. Adding runtime type checks at object boundaries via Literal — composable types, named properties, typed enums — delivers most of the practical value: less code to write, local documentation, better LLM and IDE context, compatibility with existing code and metaprogramming, great error messages, and fail-fast behavior that beats silent data corruption.