AZ
Size: a a a
AZ
SP
p
p

p
#[derive(Debug, Clone)]
struct IO(String);
fn read_line() -> IO {
IO("SELECT * FROM TABLE".into())
}
fn main() {
let a = read_line();
print!("{:?}", a);
}
Функция read_line - чистая или нет?p
AZ
foo : (MonadReader m, MonadState MyState m) => m ResultВот не поверишь, но я бы догадался что строчки просто так местами нельзя переставить
foo = do
res1 <- action1
action2
pure res1
p
AZ
p
AZ
AZ
DS
p
t
AZ
t
AZ
p
p