let { assert_eq, group, test } = import! std.test let { (<|) } = import! std.function let { ? } = import! std.io let int = import! std.int let { Bool } = import! std.bool let { Reference, ref, (<-), load } = import! std.effect.reference let { ? } = import! std.effect let { lift } = import! std.effect.lift let assert_eq_ref l r : [Show a] -> [Eq a] -> a -> Reference a -> _ = do r = load r assert_eq l r // Dummy test group "reference" [ test "basic" <| \_ -> do ri = ref 0 assert_eq_ref 0 ri ri <- 2 assert_eq_ref 2 ri assert_eq_ref 2 ri ri <- 10 assert_eq_ref 10 ri ]