1    type UniformBuffer
2        def to_descriptor (binding : String) : (String, OneMany<Resource>) =
3            (binding, One self.as<Resource>)
4    
5    type StorageBuffer
6        def to_descriptor (binding : String) : (String, OneMany<Resource>) =
7            (binding, One self.as<Resource>)
8    
9    type Image
10       def to_descriptor (binding : String) : (String, OneMany<Resource>) =
11           (binding, One self.as<Resource>)
12   
13   type VkSampler
14       def to_descriptor (binding : String) : (String, OneMany<Resource>) =
15           (binding, One self.as<Resource>)
16   
17   type (Image, VkSampler) image sampler
18       def to_descriptor (binding : String) : (String, OneMany<Resource>) =
19           let resource = Resource/ImageSampler image sampler |> as<Resource>
20           (binding, One resource)
21   
22   type (String, VkSampler) name sampler
23       def to_descriptor (binding : String) : (String, OneMany<Resource>) =
24           let resource = Resource/ImageNameSampler name sampler
25           (binding, One resource)
26