title: How to know if an object is an instance of a TypeTag's type?
body: <p>I have a function which is able to know if an object is an instance of a <code>Manifest</code>'s type. I would like to migrate it to a <code>TypeTag</code> version. The old function is the following one:</p>
  
  <pre><code>def myIsInstanceOf[T: Manifest](that: Any) = 
    implicitly[Manifest[T]].erasure.isInstance(that)
  </code></pre>
  
  <p>I have been experimenting with the TypeTags and now I have this TypeTag version:</p>
  
  <pre><code>// Involved definitions
  def myInstanceToTpe[T: TypeTag](x: T) = typeOf[T]
  def myIsInstanceOf[T: TypeTag, U: TypeTag](tag: TypeTag[T], that: U) = 
    myInstanceToTpe(that) stat_&lt;:&lt; tag.tpe
  
  // Some invocation examples
  class A
  class B extends A
  class C
  
  myIsInstanceOf(typeTag[A], new A)        /* true */
  myIsInstanceOf(typeTag[A], new B)        /* true */
  myIsInstanceOf(typeTag[A], new C)        /* false */
  </code></pre>
  
  <p>Is there any better way to achieve this task? Can the parameterized <code>U</code> be omitted, using an <code>Any</code> instead (just as it is done in the old function)?</p>