Add ELVIN to include guards
Refactor where Array types are stored