Bidirectional Type Checking
← Back to Type Inference
A type checking approach that combines two modes: type inference (synthesizing a type from an expression) and type checking (verifying an expression against an expected type). Information flows both bottom-up and top-down, reducing the need for annotations while handling complex type features.