::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
sequence PARTIAL  pure:  Iterate over partial matches to dictionary codes.

 entry Map..Heap..string,             &Dictionary map number -> {code, ...}
       Key        string              :Key to partially match (all if empty).

  exit @Pair      Key..Heap..string   :Digits and associated code words

 local Prefix     string              :Shortest possible match

   use Phonecode/Short                :Shortest code word size
:
:...............................................................................


Prefix = left( Key, Short );     Shortest possible match.

DO @P  from  Map( $, Prefix ):   DO over matching mapped items,
   IF Has.Prefix( Key, P`Key ):     IF Key begins with P`Key (case insensitive),
      YIELD  @P;                       Export digits and associated code words.

   ELSE:                            ELSE no match,
UNDO IF P`Key > Key;             UNDO IF no more items mapped for Prefix.
-  .

return