Dipping my toe into type level functions