better type ascriptions
turns out 4 != 1/2. who knew?