we would really make use of dotty's union types!