pub trait Escaper {
// Required methods
fn append_to_output<'b, 'c, 'd>(
&self,
value: DecodedValue<'b>,
escape_mode: &'b [u8],
allocator: &mut MemoryScope<'c>,
output: &mut Vec<&'d [u8]>
) -> Result<(), HairyEvalError<'d>>
where 'c: 'd,
'b: 'd;
fn check_type(&self, value_type: &ExpryType, escape_mode: &[u8]) -> bool;
}