need logic for multiple axes in type inference