module Campaign is

  entity Campaign is

    identity a -> CampaignId

    b -> xsd:string is
      assert not_null = "self is not null"
    end

    c -> Target is
      assert tagged_with_foo is
        ∀ self, self.tags.contains("foo")
      end

    end

  end

end
