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