I wonder if this process could be done some other way.
Lets say I want to get this result, but without boolean.
I could think of only one way and it is beveling. I make loopcut, then push one edge inside the cube and bevel it, also I used 2 more loopcuts to limit the beveling, but it does not look circular. Do you have any trick for that?