anchor.diff:      | "include"
       | "module-alias" -> CKModuleOrNamespace (true, false)
       | _ ->
  -      js_fail "completion context (symbol, set-options, reset-options, \
  +      js_fail "completion context (code, set-options, reset-options, \
  +open, let-open, include, module-alias)" k
   open, let-open, include, module-alias)" k
   
   type query' =
  
positive.code:   | _ -> js_fail "reduction rule" s
  
  type completion_context =
  | CKSymbol
  | CKOption of bool (* #set-options (false) or #reset-options (true) *)
  | CKModuleOrNamespace of bool (* modules *) * bool (* namespaces *)
  
  let js_optional_completion_context k =
    match k with
    | None -> CKSymbol
    | Some k ->
      match js_str k with
      | "symbol" -> CKSymbol
      | "set-options" -> CKOption false
      | "reset-options" -> CKOption true
      | "open" -> CKModuleOrNamespace (true, true)
  
negative.code: 
  let run_autocomplete st search_term context =
    match context with
    | CKCode ->
      run_code_autocomplete st search_term
    | CKOption is_reset ->
      run_option_autocomplete st search_term is_reset
    | CKModuleOrNamespace (modules, namespaces) ->
  