Ironically, the main feature that separates LISP from other modern languages is homoiconicity/macros(now that features like garbage collection are mainstream).
And this leads to an easier implementation - parsing is easier(which is why code transformation via macros becomes easy).
A language which has that feature tends to get classified as a member of the Lisp family, even if it is horribly "unlispy" under the hood in its semantics.
And this leads to an easier implementation - parsing is easier(which is why code transformation via macros becomes easy).