`isAST` and `isASTArray` should be stronger checks but I can put a hasOwnProperty check in there too.