generalised the fix for #149
started the snippets spec and made string interpolation more robust by taking expressions from the beginning of macro application