Build constructor intelligently from a yay expression