import interface ReadingOwner; external atom ReadingWordObject id "atom:reading:word"; interface ReadingVocabulary id "interface:reading:vocabulary" revision "interface:reading:vocabulary@1" { queryable value draft id "reading:vocabulary:draft" : record {word:string;} {get id "reading:vocabulary:draft:get" execution snapshot;edit id "reading:vocabulary:draft:edit" execution transaction;} queryable value name id "reading:vocabulary:name" : string {get id "reading:vocabulary:name:get" execution snapshot;set id "reading:vocabulary:name:set" execution transaction;} queryable relation library id "reading:vocabulary:library" : exactly-one interface ReadingOwner {resolve id "reading:vocabulary:library:resolve" execution snapshot;} queryable relation words id "reading:vocabulary:words" : many-unique atom ReadingWordObject {resolve id "reading:vocabulary:words:resolve" execution snapshot;} operation remember id "reading:vocabulary:remember" : string -> unit {call id "reading:vocabulary:remember:call" execution transaction;} }