Added MarkTypeS4 class definition, generics and constructor