+SYMBOL: :uses-suggestions
+
+: is-use-restart ( restart -- ? )
+ name>> [ "Use the " head? ] [ " vocabulary" tail? ] bi and ;
+
+: get-restart-vocab ( restart -- vocab )
+ [ "Use the " length ] dip
+ name>> [ length " vocabulary" length - ] keep
+ subseq ;
+
+: is-suggested-restart ( restart -- ? )
+ dup is-use-restart [
+ get-restart-vocab :uses-suggestions get member?
+ ] [ drop f ] if ;
+
+: try-suggested-restarts ( -- )
+ restarts get [ is-suggested-restart ] filter
+ dup length 1 = [ first restart ] [ drop ] if ;