prop_and :: ArduinoConnection -> RemoteRef Bool -> Bool -> Bool -> Property
prop_and c r x y = monadicIO $ do
    let local = x && y
    remote <- run $ send c $ do
        writeRemoteRef r $ (lit x) &&* (lit y)
        v <- readRemoteRef r
        return v
    assert (local == litEvalB remote)
prop_and :: ArduinoConnection -> RemoteRef Bool -> Bool -> Bool -> Property
prop_and c r x y = monadicIO $ do
    let local = x && y
    remote <- run $ send c $ do
        writeRemoteRef r $ (lit x) &&* (lit y)
        v <- readRemoteRef r
        return v
    assert (local == litEvalB remote)
prop_and c r x y = monadicIO $ do
    let local = x && y
    remote <- run $ send c $ do
        writeRemoteRef r $ (lit x) &&* (lit y)
        v <- readRemoteRef r
        return v
    assert (local == litEvalB remote)