anchor.diff:      unary_fun({Op, A});
   expr_fun({Op, A}) when Op=='to_atom';Op=='to_tuple';Op=='to_list';Op=='to_map';Op=='to_term';Op=='to_pid';Op=='to_name';Op=='to_text';Op=='is_nav';Op=='is_val' ->
       unary_fun({Op, A});
  -expr_fun({Op, A}) when Op=='to_datetime';Op=='to_timestamp';Op=='to_ipaddr' ->
  +expr_fun({Op, A}) when Op=='to_datetime';Op=='to_timestamp';Op=='to_ipaddr';Op=='to_json' ->
       unary_fun({Op, A});
   expr_fun({Op, A}) when Op=='from_binterm';Op=='prefix_ul';Op=='phash2' ->
       unary_fun({Op, A});
  
positive.code: filter_funs() -> ?FilterFuns.
  
  unary_fun_bind_type(B) when is_binary(B) ->     unary_fun_bind_type(binary_to_list(B));
  unary_fun_bind_type([$t,$o,$_|_]) ->            #bind{type=binstr,default= <<>>};
  unary_fun_bind_type([$#,_]) ->                  #bind{type=json,default= <<>>};     % #key(s), #value(s) for now
  unary_fun_bind_type("is_integer") ->            #bind{type=integer,default=?nav};
  
negative.code: 
  to_term(B) when is_binary(B) -> imem_datatype:io_to_term(B);
  to_term(T) -> T.
  
  to_json(B) when is_binary(B) -> 
      imem_json:encode(imem_json:decode(B, [return_maps]));
  to_json(M) -> 
      imem_json:encode(M).
  
  to_pid(T) when is_pid(T) -> T;
  to_pid(B) -> imem_datatype:io_to_pid(B).
  