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