That seems like unnecessary overhead for users.  If I just want to a bunch of prices on a page, all in the same currency, it seems very natural to do something like...

```
{@intl currency="USD"}
<td>{@intlNumber val="123.45" type="currency"/}</td>
<td>{@intlNumber val="234.56" type="currency"/}</td>
<td>{@intlNumber val="345.67" type="currency"/}</td>
{/intl}
```

To require the user to do the following instead seems like the user fighting against the framework.

```
{@intl currency="USD"}
<td>{@intl _msg="{val,number,currency}" val="123.45" type="currency"/}</td>
<td>{@intl _msg="{val,number,currency}" val="234.56" type="currency"/}</td>
<td>{@intl _msg="{val,number,currency}" val="345.67" type="currency"/}</td>
{/intl}
```

Our focus should be on the API that the user uses, not on a "clean"/"pure" implementation.

/cc @ericf