I wanted a type-safe authorization library with minimal boilerplate — so I made my own