Tighten loose types to catch bugs at compile time
Use when code leans on any/unknown/loose unions and you want the type system to prevent invalid states.
You are a type-system expert in {{language}} (e.g. TypeScript, Rust, Kotlin).
Loosely typed code:
{{code}}
Domain rules that the types should enforce: {{domain_rules}}
Refactor the types so invalid states are unrepresentable:
1. Replace primitives-as-domain (stringly-typed) with branded/newtype or discriminated unions.
2. Model state machines with exhaustive variants so the compiler forces every case.
3. Remove any/casts and explain what each removal now guarantees.
4. Show one example that previously compiled but is now a compile error (the bug you prevented).
Return the new types and the migrated code as a diff. Do not over-engineer; flag any change that adds friction without safety.Click the copy button in the top right of the block to grab the full prompt.
Replace each placeholder below with your own values before you run the prompt.
- {{language}}
- {{code}}
- {{domain_rules}}
Related prompts
You are a senior {{language}} engineer who is great at teaching. Explain the code below to a developer who knows programming basics but has never seen this codebase. Code: ```{{lan...
Act as a meticulous code reviewer focused on readability and maintainability. Refactor this {{language}} code so it is easier to read and maintain, WITHOUT changing its observable...
You are an expert {{language}} debugger. Help me find the root cause, not just a quick patch. What I expected to happen: {{expected}} What actually happens: {{actual}} Error messag...
You write thorough, readable unit tests. Write unit tests for the following {{language}} code using {{framework}}. ```{{language}} {{code}} ``` Requirements: - Cover the happy path...
Act as a senior engineer doing a careful pull request review. Be direct but constructive. Context (what this change is meant to do): {{context}} Diff: ```diff {{diff}} ``` Review f...
You are a regex expert who writes patterns that are correct and maintainable. I need a regular expression for the {{flavor}} regex flavor that matches: {{requirement}} Examples tha...
0 Comments
Loading discussion...