Language-Based Techniques for Policy-Agnostic Oblivious Computation