I\'ve no idea why, but on occasion I\'ve managed to fix some compile errors, most notably
error expected specifier-qualifier-list before \'someClass\'
You'll not only include your header into your implementation file but into other files using that class as well. If you include all dependencies in the header, all other files including that header just for using the specific class it defines will themselves include all dependencies as well.
This is not only noisy but leads to problems when you have classes referencing themselves. Each class would have to be imported before the other one, which leads to one being imported first and then cannot finding the other class' type. This results in the cryptic error message you posted, which basically means that the compiler can't find the someClass type.
By moving your imports into your implementation file and forward-declaring classes and types in your header (using @class, @protocol, etc) you can avoid these issues.