; Alice owns one private word in her resident LUMP, not the Thread heap.
; Stash takes the caller's value in DR1; Reveal returns that value in DR1.
; CR1 on entry is Alice's E capability. Methods use their own C-list.
; The compiler emits the two public dispatch words before the method bodies.
; Layout: dispatch 1..2, Stash 3..5, Reveal 6..8, private word 9.
; A compiler-added terminal RETURN may follow the storage word.
; A fault must not reload the pristine LUMP if the stash is to be retained.
abstraction ide.Alice {
    capabilities {
        SELF E,
        ide.Alice RW
    }

    method Stash() {
        LOAD CR1, CR6, #1
        DWRITE DR1, CR1, #9
        RETURN
    }

    method Reveal() {
        LOAD CR1, CR6, #1
        DREAD DR1, CR1, #9
        RETURN
        ; Not executable: both methods RETURN before this private storage.
        WORD 0
    }
}
