it's fun that with union types you get an intersection of methods while with intersection types you get a union of methods.