type aliases are kind of weird