Prioritize algorithmic efficiency and avoid unnecessary computational overhead, especially in type-level operations and validation logic. When multiple approaches achieve the same result, choose the one with better performance characteristics.

Key optimization strategies:

  1. Avoid expensive validation when unnecessary - Skip complex validation for cases that cannot fail
  2. Use direct property access over type inference - Prefer obj['_']['property'] over complex type inference patterns
  3. Choose simpler algorithms when equivalent - Replace complex recursive or iterative approaches with direct lookups when possible

Example of optimization:

// Inefficient: Complex validation that always passes
const schema = type('Record<string, unknown.any>')

// Optimized: Direct type assertion since validation cannot fail
const schema = type.object.as<Record<string, any>>()

// Inefficient: Complex type inference
type Result = TValue extends Interface<infer TResult> ? TResult : never

// Optimized: Direct property access
type Result = TValue['_']['result']

This is particularly critical in type-level operations where “performance is our bottleneck in general” and unnecessary complexity can significantly impact compilation times and developer experience.