A type-safe HTML templating language