workaround for rustc bug, add empty variant to enum to allow it to be uninitd