id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
157,Do a more fine-grained dangerous variables check,benl,,"At the moment, if we have a data type like

{{{
data Thing r1 (C r2 (Int r3)) (Int r4)
 ...

}}}

If `r1` is mutable then all of `r2, r3, r4` are marked as dangerous. However, If these variables are non-material in the type, then we don't actually have to mark them as dangerous.

NB: If we do this we'll also want to test for and reject nested data types, as the current algorithm for determining which variables are dangerous doesn't support them.


",enhancement,new,normal,0.1.5,Source Type Inferencer,0.1.2,,,
