sig val init : '-> unit val sampling : '-> '-> '-> unit end