i am bad at types. i wrote a lot of code, reverted changes and wrote thoughts instead.