id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
23	Mask effects on fresh data	anonymous		"In a type like

{{{
 fun :: forall %r1 %r2
     .  Int %r1 -(!e1)> Int %r2
     :- !e1 = Read %r2
}}}

The effect Read %r2 isn't being masked by Type.Scheme because %r2 is
visible in the shape of the type. However, as the data is fresh the fact
that there was a read when constructing it does matter, so it can be masked.

Core.Reconstruct will need to use the closure annotations on XLam nodes to
show that this is ok."	enhancement	new	project		Source Type Inferencer				
