> map :: forall a b %r0 %r1 !e0 $c0
> . (a -(!e0 $c0)> b) -> List %r0 a -(!e1 $c1)> List %r1 b
> :- !e1 = !{ !Read %r0; !e0 }
> , $c1 = f : $c0
boy oh boy it will take a while for people in general to get to the
point of really groking such notations and being able to work smoothly
with it i think.