sig val once : ('-> 'b) -> '-> 'end