throw on malformed macro