I could have put only `fragment` here (since `prompt` takes `number` if `header` is not falsy) but I find it a lot more readable like this