Added isTypeInstance function to Type interface and redefined what the isAssignableFrom and isInstance methods mean. ObjectType should succesfully be able to unwrap values from procedure or tuples when casting.