Abstraction boundaries are optimization boundaries

Notes on type inference and polymorphism

Tests should not contain logic

A poor man’s types

We don’t need no virtualization

Refinement types for input validation