type MyString = String
type MyString2 = String {tomo: 123}
type StringOrNumber = String | Number
type NumberOrString = Number | String
---
{
    a: typeOf("test") == String, //true
    b: typeOf("test") == MyString, //true
    c: typeOf("test") == MyString2, //false
    d: typeOf("test" as MyString2)  == MyString2, //true
    e: typeOf("test" as StringOrNumber)  == String, //false true
    f: typeOf(1 as StringOrNumber)  == Number, //false false
    j: typeOf(1 as NumberOrString)  == Number, //false false
    g: typeOf("test" as StringOrNumber)  == StringOrNumber, //true false
    h: typeOf("test") == StringOrNumber, //false false
    i: StringOrNumber == typeOf("test"), //false false
}