First version with polymorphic backing array