break up ast specs, move shared examples to separate files