Update abstract serializer and deserializer contracts; tweak annotations