instanceBlockDeviceMappingsConv :: (MonadThrow m, Applicative m)
    => XmlElement -> m [InstanceBlockDeviceMapping]
instanceBlockDeviceMappingsConv = itemsSet "blockDeviceMapping" conv
  where
    ebsConv e = EbsInstanceBlockDevice
        <$> e .< "volumeId"
        <*> e .< "status"
        <*> e .< "attachTime"
        <*> e .< "deleteOnTermination"
    conv e = InstanceBlockDeviceMapping
        <$> e .< "deviceName"
        <*> element "ebs" ebsConv e
instanceBlockDeviceMappingsConv :: (MonadThrow m, Applicative m)
    => XmlElement -> m [InstanceBlockDeviceMapping]
instanceBlockDeviceMappingsConv = itemsSet "blockDeviceMapping" conv
  where
    ebsConv e = EbsInstanceBlockDevice
        <$> e .< "volumeId"
        <*> e .< "status"
        <*> e .< "attachTime"
        <*> e .< "deleteOnTermination"
    conv e = InstanceBlockDeviceMapping
        <$> e .< "deviceName"
        <*> element "ebs" ebsConv e
instanceBlockDeviceMappingsConv = itemsSet "blockDeviceMapping" conv
  where
    ebsConv e = EbsInstanceBlockDevice
        <$> e .< "volumeId"
        <*> e .< "status"
        <*> e .< "attachTime"
        <*> e .< "deleteOnTermination"
    conv e = InstanceBlockDeviceMapping
        <$> e .< "deviceName"
        <*> element "ebs" ebsConv e