Restricting the choice by a Boolean term gives a much more powerful version of the choose constructor.