Initial check-in
Added support for abstract list and collection types