        (p, moveEnd) <- runSFState posSFState pos -< i
        (bsEv, bsEnd) <- runSFState bSpawnSFState NoEvent -< (i, p)
        (_, dEv) <- runSFState destroySFState () -< (i, p)
        returnA -< (Output p bsEv, moveEnd `lMerge` dEv))

enemyMove posSFState = enemy posSFState (sfstate (const $ never &&& never)) (sfstate (const $ constant () &&& never))

draw :: Output -> Picture