Passed BASETYPE
Passed AGGREGATE
Passed VECSEMANTICS

type '(default)'
    c_str "unknown"
    basetype UNKNOWN
    aggregate SCALAR
    vecsemantics NOSEMANTICS
    arraylen 0
    str(t) = "unknown"
    size = 0
    elementtype = unknown
    numelements = 1
    elementsize = 0
    basesize = 0
type 'UINT8'
    c_str "uint8"
    basetype UINT8
    aggregate SCALAR
    vecsemantics NOSEMANTICS
    arraylen 0
    str(t) = "uint8"
    size = 1
    elementtype = uint8
    numelements = 1
    elementsize = 1
    basesize = 1
type 'HALF, VEC3, COLOR'
    c_str "colorh"
    basetype HALF
    aggregate VEC3
    vecsemantics COLOR
    arraylen 0
    str(t) = "colorh"
    size = 6
    elementtype = colorh
    numelements = 1
    elementsize = 6
    basesize = 2
type 'FLOAT, SCALAR, NOXFORM, array of 6'
    c_str "float[6]"
    basetype FLOAT
    aggregate SCALAR
    vecsemantics NOSEMANTICS
    arraylen 6
    str(t) = "float[6]"
    size = 24
    elementtype = float
    numelements = 6
    elementsize = 4
    basesize = 4
type 'FLOAT, VEC3, POINT, array of 2'
    c_str "point[2]"
    basetype FLOAT
    aggregate VEC3
    vecsemantics POINT
    arraylen 2
    str(t) = "point[2]"
    size = 24
    elementtype = point
    numelements = 2
    elementsize = 12
    basesize = 4

type 'float[2]'
    c_str "float[2]"
    basetype FLOAT
    aggregate SCALAR
    vecsemantics NOSEMANTICS
    arraylen 2
    str(t) = "float[2]"
    size = 8
    elementtype = float
    numelements = 2
    elementsize = 4
    basesize = 4
type 'normal'
    c_str "normal"
    basetype FLOAT
    aggregate VEC3
    vecsemantics NORMAL
    arraylen 0
    str(t) = "normal"
    size = 12
    elementtype = normal
    numelements = 1
    elementsize = 12
    basesize = 4
type 'uint16'
    c_str "uint16"
    basetype UINT16
    aggregate SCALAR
    vecsemantics NOSEMANTICS
    arraylen 0
    str(t) = "uint16"
    size = 2
    elementtype = uint16
    numelements = 1
    elementsize = 2
    basesize = 2

uint8 == uint8? True
uint8 == uint8? True
uint8 == uint16 False
uint8 != uint8? False
uint8 != uint8? False
uint8 != uint16 True
vector == color False
vector.equivalent(color) True
equivalent(vector,color) True
vector.equivalent(float) False
equivalent(vector,float) False

type 'TypeFloat'
    c_str "float"
type 'TypeColor'
    c_str "color"
type 'TypeString'
    c_str "string"
type 'TypeInt'
    c_str "int"
type 'TypePoint'
    c_str "point"
type 'TypeVector'
    c_str "vector"
type 'TypeNormal'
    c_str "normal"
type 'TypeMatrix'
    c_str "matrix"
type 'TypeMatrix33'
    c_str "matrix33"
type 'TypeMatrix44'
    c_str "matrix"
type 'TypeTimeCode'
    c_str "timecode"
type 'TypeKeyCode'
    c_str "keycode"
type 'TypeFloat4'
    c_str "float4"
type 'TypeHalf'
    c_str "half"

Done.
