Actually type aliases should be source elements. This means things like

    if (true) type foo = number

shouldn't be allowed