pub fn interpret<'a>(
    compiler: &'a Compiler,
    options: &'a CompileOptions<'a>,
    collection: Collection<'a>
) -> CompileResult<Interpreted<'a>>