contract Remote = entrypoint id : int => int contract ProtectedCall = function higher_order(r : Remote) = r.id entrypoint test_ok(r : Remote) = let f = higher_order(r) let Some(n) = r.id(protected = true, 10) let Some(m) = f(protected = true, 5) n + m + r.id(protected = false, 100) + f(1)