curry *.[] and *.{} again

*.[1], *.<foo> and *.{123} used to create Failure objects instead of currying into a WhateverCode.

This branch fixes that.

belongs to RT #120385