in modify (\s -> s{variables=[m]})
(mapM_ execute ss >> (fail $ "Function "++show i++" didn't return anything."))
`catchError` (\_ ->return ()) --Only errors thrown in ErrorT can be caught here, runtime errors pass through, so no need to check the error
in modify (\s -> s{variables=[m]})
(mapM_ execute ss >> (fail $ "Function "++show i++" didn't return anything."))
`catchError` (\_ ->return ()) --Only errors thrown in ErrorT can be caught here, runtime errors pass through, so no need to check the error