Use Rank2 types

I imagine those `Stream a Identity Char =>` constraints hoarsely whispering 'kill me' every time I look at one. Yes?