code: function(input, frame)
  {
     var rval = false;
     
     // check if type(s) are specified in frame and input
     var type = '@type';
     if('@type' in frame &&
        input.constructor === Object && type in input)
     {
        var tmp = (input[type].constructor === Array) ?
           input[type] : [input[type]];
        var types = (frame[type].constructor === Array) ?
           frame[type] : [frame[type]];
        for(var t = 0; t < types.length && !rval; ++t)
        {
           type = types[t];
           for(var i in tmp)
           {
              if(tmp[i] === type)
              {
                 rval = true;
                 break;
              }
           }
        }
     }
     
     return rval;
  }
docs: Returns true if the given input is a subject and has one of the given types
  in the given frame.
  
  @param input the input.
  @param frame the frame with types to look for.
  
  @return true if the input has one of the given types.