module Fixme where data World = W Int {-@ data FIO a
Prop, post :: World -> a -> World -> Prop>
= FIO (rs :: (x:World -> (a, World)<\y -> {v:World | true}>)) @-}
data FIO a = FIO {runState :: World -> (a, World)}
{-@ createFile :: forall World -> Prop,
q :: Int -> World -> Int -> World -> Prop>.
{f::Int |- World
<: World}
{f::Int, w::World
, x::Int |- World <: World}
a:Int -> FIO {v:World | true}> Int @-}
createFile :: Int -> FIO Int
createFile = undefined