When defining columns using the html template literal instead of a tag, the rendered cells in that column render [object HTMLTemplate] as string instead of stamping the template. See the 'icon' column in the picture below.

The column cells should render normally.
The column cell does not render normally.
https://jsbin.com/qiwufec/edit?html,output
vaadin-grid element in the page.vaadin-grid-column element to the grid.Thanks for the issue and sorry for not answering earlier. We are working on the "renderers" feature which is expected to make it easier to define content imperatively. In case you are interested, you can check this branch: https://github.com/vaadin/vaadin-grid/tree/renderer-preview
Please note that this feature is still work in progress, but in the future all other components accepting templates (grid, dialog, combo-box etc) should get it so we appreciate any feedback.
Closing as this is not a bug, it's just not supported yet. Keep up the good work folks!
Thanks for understanding. After some thinking, I realised that your code snippet wouldn't work also because of the fact that Polymer data bindings do not allow injecting raw HTML (as it is generally considered insecure). So this could be marked as "won't fix".
Anyways, the column renderers are available since 5.2.0 stable release and allow to organise the code in a more convenient way, especially when working with LitElement, see this example:
https://glitch.com/edit/#!/lying-blanket?path=app.js:55:0
I'll be sure to check it out! Thanks