# Type Theory Skill

Expert skill in type theory foundations for implementing type systems including inference, checking, and subtyping.

## Quick Reference

- **Category**: Type Systems
- **ID**: SK-004

## Key Capabilities

- Hindley-Milner type inference with Algorithm W
- Constraint-based type inference with unification
- Bidirectional type checking
- Structural and nominal subtyping
- Variance handling (covariant, contravariant, invariant)
- Row polymorphism and record types
- Flow-sensitive type narrowing
- Type error message generation

## When to Use

Use this skill when implementing:
- Type inference engines
- Type checking passes
- Subtyping relations
- Generic type instantiation
- Type error diagnostics

## Related Skills

- generics-impl (SK-024)
- effect-systems (SK-023)
- error-messages (SK-014)
