Array type refactoring
closes #43