Monadic execution interface for Rader's algorithm; tidying